Warriors stood toe-to-toe with the league leaders but had to settle for a losing bonus point in a titanic tussle at Sixways.
Warriors hit back from being ten points down after 30 minutes to take a 23-17 lead but a hat-trick try from wing Siva Naulago and a touchline conversion from Callum Sheedy broke their hearts.
The result may have been disappointing but, just as they did against Exeter earlier in the year, Warriors showed that they are capable of mixing it with the very best.
Tries from Perry Humphreys and Francois Venter – a superbly worked team effort up the right – and a nerveless kicking display from Billy Searle had Bristol rattled.
There were also two more scoring opportunities that were not taken, when Ashley Beck intercepted and went on a long run in the first half and when Jamie Shillcock prised open Bristol’s defence with a superb arcing run midway through the second half.
Instead Bristol, who were under pressure for long periods of the game, scored three tries – all from Naulago from broken play and another, from scrum-half Andy Uren, in first half injury-time.
Bristol drew first blood with Naulago sweeping over for the opening try after five minutes before Warriors took the game to the league leaders with some long and patient approach work which was undone by errors at the breakdown.
Instead it was Bristol who doubled their lead when Naulago latched onto a crossfield kick and raced over but Callum Sheedy, back from Six Nations duty with Wales, again missed the conversion.
Warriors showed character and determination to rally and this time patience was rewarded when replacement Billy Searle found the unmarked Humphreys with a pinpoint accurate kick and the wing dotted down.
Shillcock landed the conversion from the touchline on the wrong side of the field for a left-footed kicker and Searle levelled the scored four minutes later when he slotted a penalty after Bristol were drawn offside under pressure.
An interception from Beck on halfway opened up another scoring opportunity for Warriors but the former Wales centre was hunted down just short of the line and a knock-on in the follow-up saw Bristol escape.
To add insult to injury, Bristol launched a bold counter-attack from the resulting scrum and then won two penalties which they kicked to the corner, worked their way in-field and Uren nipped in for a try that Sheedy improved to complete a crucial 14 point swing.
Warriors lost Chris Ashton and Oli Morris to head injuries in the first half but they regrouped effectively and were the dominant side in attack and aggressive in defence for most of the second half.
Searle trimmed the deficit with a penalty six minutes into the second half and Warriors then went ahead when Shillcock, Nick David and Francois Hougaard combined effectively and Venter finished impressively.
Searle banged over the conversion followed by another penalty six minutes later in an impressive return after five weeks out with a gashed thigh.
With Bristol on the ropes, another try would have delivered the knockout blow. Instead Naulago scored a try from very little and Sheedy, who had earlier missed two easier kicks, levered over the conversion from the far touchline.
Warriors | 15 Nick David, 14 Chris Ashton (Searle 28), 13 Oli Morris (Beck 31), 12 Francois Venter, 11 Perry Humphreys, 10 Jamie Shillcock (Heaney 78), 9 Francois Hougaard, 1 Ethan Waller (Thomas 63), 2 Beck Cutting (Miller 51), 3 Nick Schonert (Plaframan 63), 4 Andrew Kitchener, 5 Justin Clegg, 6 Joe Batley, 7 Matt Kvesic (C), 8 GJ van Velze (du Preez 63).
Replacements | 16 Isaac Miller, 17 Marc Thomas, 18 Richard Palframan, 19 Tom Dodd, 20 Cornell du Preez, 21 Michael Heaney, 22 Billy Searle, 23 Ashley Beck.
5m | Naulago try 0-5
28m | Naulago try 0-10
30m | Humphreys try 5-10
31m | Shillcock con 7-10
35m | Searle pen 10-10
40m | Uren try 10-15
40m | Sheedy con 10-17
46m | Searle pen 13-17
48m | Venter try 18-17
49m | Searle con 20-17
54m | Searle pen 23-17
72m | Naulago try 23-22
73m | Sheedy con 23-24