Tom Homer’s goal-kicking and a much-improved second half earned Bath a narrow win against Worcester, ending their six-game losing streak.
Jonathan Evans’ try and a Homer penalty after the break turned around a 14-6 half-time deficit.
Worcester, whose own winless run stretches back to November, led for much of the game but were undone by a pointless second half.
Cooper Vuna and Donncha O’Callaghan scored the Warriors’ two tries.
The win lifts Bath six points clear of Newcastle and eight clear of the second-bottom Warriors in the Premiership table.
Relive Saturday’s Premiership rugby
Worcester’s first-half dominance at the breakdown and the set-piece set their platform for the first-half lead, as did Tom Heathcote’s control from stand-off.
Smart play put Vuna in on the left, after a line-break by Wynand Olivier, and the same player was involved down the same short-side for O’Callaghan’s score.
Bath’s improved second-half display was in part down to cutting out errors, they were more clinical at the ruck and their kicking game began to cause Worcester problems.
Evans’ try came from Semesa Rokoduguni’s kick chase, while Homer’s composure from the tee, in contrast to Worcester’s kickers, helped nudge the scoreboard in their direction.
A tight defensive effort late on was also pivotal as the Warriors tried to fight back, but a solid line tidied up the danger with the clock well into the red at the end.
Worcester Warriors director of rugby Dean Ryan:
“I’m astounded that we weren’t awarded a penalty try right at the end as everyone saw Ross Batty deliberately knock on in front of the posts to stop a GJ Van Velze try.
“We had the dominant scrum throughout and yet we never picked up a single penalty.
“We can take the normal rub of the green but we are always on the wrong end of the refereeing decisions and we need to be 10 points better than the opposition every week if we have any chance of winning.”
Bath head coach Mike Ford:
“It was real drama in the last 90 seconds and we needed a bit of luck. We could have easily lost the game.
“I thought we showed some great character in the second half and our captain, Stuart Hooper, was magnificent at half-time in rallying the troops.
“We’ve got key world-class players missing and there are no easy games in the Premiership, but if we had lost in that last five minutes it would have been difficult to pick up the players for next week.”
Worcester: Pennell; Heem, Olivier, Symons, Vuna; Heathcote, Baldwin; Rapava Ruskin, Annett, Schonert, O’Callaghan, Barry, Dowson, Kirwan, van Velze (capt)
Replacements: Bregvadze, Leleimalefaga, Johnston, Sanderson, Potgieter, Mulchrone, Lamb, Mills.
Bath: Homer; Rokoduguni, Clark, Banahan, Agulla; Hastings, Matawalu, Auterac, Webber, Thomas, Hooper (capt), Ellis, Houston, Mercer, Mafi
Replacements: Batty, Obano, Wilson, Ewels, Day, Garvey, Evans, Williams
For the latest rugby union news follow @bbcrugbyunion on Twitter.