|Bristol (3) 21|
|Tries: Piutau, Thacker Con: Sheedy Pens: Sheedy 3|
|Wasps (0) 26|
|Tries: Umaga, Fekitoa, Minozzi, Carr Cons: Umaga 3|
Nizaam Carr's stunning last-minute try helped Wasps cap an exhilarating second half to snatch victory at Bristol.
It seemed the visitors would be denied a first away win of the season when Callum Sheedy slotted a penalty after Joe Launchbury was harshly penalised.
But South Africa forward Carr danced down the touchline to score, giving Dai Young's strugglers a bonus-point win.
Jacob Umaga, Malakai Fekitoa and Matteo Minozzi also went over in a deserved second Wasps league win of the season.
Although Wasps remain 10th in the table, it lifted them seven points clear of 11th-placed Leicester, while also preventing Bristol going top of the Premiership.
The six-try second half - in front of 23,078 at Ashton Gate - was in stark contrast to an opening 40 minutes packed with handling errors, after which Bristol led 3-0 at the break.
Charles Piutau's fine cover tackle stopped Wasps' Marcus Watson from scoring after a 15-phase move, but Umaga surged through a gap to finally penetrate the home defence after Launchbury's turnover.
Former New Zealand full-back Piutau helped put Bristol 13-7 up when he broke though a tackle from fellow Kiwi Fekitoa, who then himself cut a superb line to go over from 30 metres out.
Wasps led 19-13 when Italian Minozzi went over after a brilliant Zach Kibirige break, but Harry Thacker brought Bristol back to within a point from a driving maul, before a grandstand finish.
After England lock Launchbury gave away a penalty for entry into a Bristol maul, Sheedy kicked the penalty to put the hosts 21-19 up with minutes remaining.
But Carr showed strength to stay infield, evade tackles and stay on his feet to score in the corner, to consign the Bears to their first home defeat of the season.
Bears head coach Pat Lam told BBC Radio Bristol:
"Extremely disappointed - obviously, like all Bristol fans will be, because let's be fair we didn't play that well, especially in the first half.
"We turned over too much ball, we gave away silly penalties - all the things we didn't want to do - because we did not have enough respect for the ball to control it when it's slippery out there.
"With two minutes to go we put ourselves in with a chance to win. To allow them to break out was unacceptable."
Wasps director of rugby Dai Young told BBC Coventry & Warwickshire:
"We stayed in the fight, we didn't panic and to get that win will hopefully give us that confidence and belief to kick on from here.
"Yet again we made one or two mistakes but we looked far more controlled. We contained their attack pretty well.
"Things haven't quite gone our way but hopefully that'll be a turning point. What we need to do now is build on that."
Bristol: Piutau; Morahan, O'Conor, Leiua, Fricker; Sheedy, Uren; Woolmore, Thacker, Afoa, Attwood, Vui, Luatua (capt), Heenan, Hughes.
Replacements: Holmes for Attwood (64), Randall for Uren (50), Capon for Thacker (70).
Not used: J Lay, Lahiff, Hamilton, Lloyd, Bedlow.
Wasps: Minozzi; Kibirige, Fekitoa, Le Bourgeois, Watson; Umaga, Robson; Harris, Taylor, Brookes, Launchbury (capt), Matthews, Willis, Young, Carr.
Replacements: West for Harris (44), Vailanu for Young (51), Cruse for Taylor (59), Cardall for Matthews (59), Owlett for Brookes (66), Gopperth for Le Bourgeois (70),
Not used: Porter, de Jongh.
Replacements: Cruse, West, Owlett, Cardall, Vailanu, Porter, Gopperth, De Jongh.
Referee: Luke Pearce.