Leaders Bristol were rescued by hat-trick hero Siva Naulago's late try as resurgent Worcester were cruelly denied a first Premiership win since November.
Winger Naulago's first two unconverted tries gave Bristol a 10-0 lead - only for Worcester to level with a converted Perry Humphreys try and a penalty.
Scrum-half Andy Uren's solo score on half-time won Bristol back the lead.
Francois Venter's try and two Billy Searle penalties then put Warriors ahead, before Naulago's winning try.
Even then, after the Fijian rugby league convert had gone over in the right corner seven minutes from time, it still needed a superb touchline conversion by Wales stand-off Callum Sheedy.
After his Triple Crown-winning haul of five kicks against England last Saturday, and having earlier missed both his touchline conversion attempts at Naulago's first two tries, Sheedy again held his nerve when it mattered.
Bristol's bonus-point win keeps them six points clear of second-placed Exeter, while Worcester had already sunk to the bottom prior to kick-off, thanks to Gloucester's equally narrow, late win at Wasps.
Warriors have now lost 11 games on the bounce in all competitions - and have only kept in touch with Gloucester thanks to the eight points they picked up from two Covid-19-enforced postponements against Harlequins and Newcastle.
But this was possibly their best performance of the season by Jonathan Thomas' young rebuilt side, also containing their try of the season, a lightning break down the right finished off by centre Venter.
And, although they were knocked back by the early loss of injured former England winger Chris Ashton on his first home start, it earned Warriors their fourth losing bonus point in seven matches.
Ashton's premature exit at least allowed fit-again Searle to return from a gashed thigh in a backline reshuffle that also involved taking over kicking duties from Jamie Shlllcock.
Shillcock had converted Humphreys' first-half try, but Searle went on to land four kicks - his late first-half penalty, followed by a conversion of Venter's try and then two more penalties to open up that ultimately insufficient six-point cushion.
Worcester stand-off Billy Searle told BBC Hereford & Worcester:
"We dominated the second half. We're getting attacking opportunities but silly penalties cost us. It's just about seeing these games out.
"The last two games have been pretty similar but we've got to take the learnings and put that into practice when we play London Irish next week.
"We missed a few opportunities. But you've got to take confidence from that. It was my first game since Boxing Day. I'm happy to be back and fairly happy with how I played, but just disappointed to lose the game."
Bears boss Pat Lam told BBC Radio Bristol:
"We could have been more points up at half-time and, having missed some opportunities, we were very sloppy in the second half.
"These boys were desperate for a win but we had to wait for our chance and the boys closed it out well after that bit of magic from Siva.
"He's got some X-factor qualities. Serious pace. The sort of finishes that not many guys could do, but all our back three did a great job."
Worcester Warriors: David; Ashton, Morris, Venter, Humphreys; Shillcock, Hougaard; Waller, Cutting, Schonert, A Kitchener, Clegg, Hill (capt), Kvesic, van Velze.
Replacements: Miller, Thomas, Palframan, Batley, du Preez, Heaney, Searle, Beck.
Bristol Bears: Purdy; Adeolokun, O'Conor, Leiua, Naulago; Sheedy, Uren; Woolmore, Capon, Lahiff, Attwood, Joyce, Vui, Harding, Luatua (capt).
Replacements: Kloska, Thomas, Afoa, Holmes, Heenan, Kessell, Eden, Fricker.
Referee: Craig Maxwell-Keys.