|Bath (15) 21|
|Tries: Devoto, Agulla Con: Priestland Pens: Priestland 3|
|Worcester (11) 14|
|Try: Vuna Pens: Heathcote 2, Mills|
|Relive Sunday's Premiership action|
Bath withstood a strong performance from Worcester to claim only their second Premiership win in five games.
Ollie Devoto's first-half try from scrum-half Chris Cook's turnover gave Bath the early lead before Worcester edged in front through Cooper Vuna.
Horacio Agulla restored Bath's lead before the break and the boot of Wales fly-half Rhys Priestland kept Worcester at bay in the second half.
Worcester claimed a losing bonus point courtesy of Tom Heathcote's kicking.
Victory for Bath was their first in seven weeks and only their third in the Premiership this season.
Priestland, handed a rare start ahead of England fly-half George Ford, drove Bath to victory by mixing his running and kicking game and notching 11 points for the hosts.
After Devoto touched down on 10 minutes for Bath, Ryan Mills struck a long-range penalty to keep Worcester in reach.
A clever run on the blindside of the scrum by Vuna saw him cross for the try which gave the visitors an 11-10 lead.
Argentina international Agulla snuck over in the corner before running out of space to get Mike Ford's men back in front on the stroke of half-time.
Priestland and Heathcote exchanged penalties after the break before the Welshman's third proved to be the final score with 12 minutes remaining.
Bath coach Toby Booth:
"The challenge for us now is where we go from here. We have been a case of win one, lose one, win one.
Consistency is key, and if you can put together three or four wins in a row, it makes the world of difference to everything."
Worcester director of rugby Dean Ryan:
"We will take the bonus point. I am pretty proud of the guys' efforts. I like the way we are heading and the rugby we are playing, and a point here at the end of the season will look bigger than it does now.
"I am really excited what we will get out of 2016. I think we are really starting to travel, although we know we still have got some issues.
"It was a good point. Not many teams come away from here with something in the bank."
Bath: Homer; Rokoduguni, Joseph, Devoto, Agulla; Priestland, Cook; Lahiff, Batty, Thomas, Garvey, Ewels, Houston, Mercer (capt), Denton.
Replacements: Attwood for Garvey (51), Watson for Homer (59), Ford for Devoto (59), Auterac for Lahiff (59), Wilson for Thomas (59), Douglas for Attwood (62), Matawalu for Cook (71), Dunn for Batty (71),
Worcester Warriors: Pennell; Heem, Olivier, Mills, Vuna; Heathcote, Arr; Leleimalefaga, Annett, Schonert, Cavubati, Barry, Cox, Betty, Dowson (capt).
Replacements: O'Callaghan for Barry (19), Symons for Mills (57), Rapava-Ruskin for Leleimalefaga (57), Mama for Betty (57). Rees for Schonert (59), Sowrey for Annett (68), Mulchrone for Arr (68),
Not Used: Biggs.
Refereee: Tom Foley (RFU).
For the latest rugby union news follow @bbcrugbyunion on Twitter.