Bath moved up to second in the Premiership with a hard-fought win in difficult conditions at Worcester.
Three George Ford penalties put the visitors ahead and he added the conversion when Anthony Perenise scored the game's first try.
Paul Warwick's penalty closed the gap to 16-3 at half-time and he added another within a minute of the restart.
But Horacio Agulla went over moments after coming on as a replacement to seal Bath's second away victory.
The game began in driving rain and it was Bath who adapted quickest to the difficult conditions.
Ford scored the first points of the night with a straightforward kick in front of the posts to put the visitors ahead and added another from 35 metres soon after.
Warwick's first attempt at goal at the other end dropped short but, with the rain getting heavier, Ford slotted over his third penalty to extend Bath's lead to 9-0.
Dean Hammond thought he had powered his way through for the game's first try to close the gap, but the TMO ruled he had stepped into touch.
A wayward Worcester line-out saw Bath capitalise as Peter Stringer set up Perenise to go over, with Ford adding the extras.
Warwick's penalty closed the gap to 13 points at the break and moments after the interval he successfully landed a second kick, but then dropped one short soon after.
Ford missed a penalty attempt for the first time in the night and failed with the extras when Bath replacement Agulla stormed over in the corner after stealing the ball within moments of coming on.
Added to a second-half knee injury to Gus Creevy, on only his third start, Worcester were reduced to 14 men when Chris Jones was sinbinned.
And Bath eased their way to a victory which saw them jump above Northampton to within a point of leaders Saracens.
The winless Warriors remain rooted to the bottom after their seventh straight Premiership defeat - an overall losing run that now stretches back 17 games to their last victory on 1 March.
VIEW FROM THE DRESSING ROOM
Worcester head coach Dean Ryan:
"Our scrum was very impressive and I didn't think we were given enough credit for it as I thought the referee, Greg Garner was a bit cautious in the conditions.
"Our ball retention was poor but we showed a lot of commitment and are going in the right direction.
"We lack a ball-carrying aspect in our game and we were up against a very good side that excels at the breakdown in these conditions."
Bath coach Mike Ford:
"It was a professional performance in difficult conditions against a desperate side.
"They came out and had a purple patch early in the second half.
"But once Agulla scored the game was as good as over."
Worcester: Pennell; Hammond, Grove, Matavesi, Lemi; Warwick, Arr; Fainga'anuku, Creevy, Murray; Jones, Galarza; Senatore, Abbott, Thomas (capt).
Replacements: Fatiaki for Lemi (20), Betty for Abbott (56), Brooker for Creevy (61), Williams for Galarza (61), Mieres for Warwick (64), Porter for Fainga'anuku (68), Andress for Murray (71).
Not Used: Sua.
Sin Bin: Jones (73).
Bath: Watson; Rokoduguni, Joseph, Eastmond, Banahan; Ford, Stringer; James, Webber, Perenise; Hooper (capt), Spencer; Garvey, Louw, Fearns.
Replacements: Agulla for Rokoduguni (57), Roberts for Stringer (62), Day for Spencer (66), Catt for James (68), Batty for Webber (71), Orlandi for Perenise (71), Faosiliva for Fearns (71).
Not Used: Henson.
Referee: Greg Garner (RFU).