Bristol Bears went 11 points clear at the top of the Premiership with a 37-20 bonus-point win over Wasps.
Wasps had raced into a 10-point lead thanks to a Sione Vailanu try, but the Bears hit back through Piers O'Conor's try and three Tiff Eden penalties.
Joe Joyce bulldozed over on the hour mark before Niyi Adeolokun crossed in the corner as Bristol pulled clear.
Josh Bassett broke through to give Wasps a consolation score but Chris Vui earned Bristol a last-gasp bonus point.
Leaders Bristol happy in the rain
Wasps had won their past 11 encounters with Bristol and Lee Blackett's side got off to an ideal start as Jimmy Gopperth kicked the visitors into the lead through an early penalty, reaching 1,000 points for the club in the process.
In wet and windy conditions, Bristol dominated the early territory but were hit on the break when Wasps number eight Vailanu, making his first start for six months, crossed after 16 minutes.
The league leaders were missing Kyle Sinckler, Ben Earl, Harry Randall and Max Malins to England Six Nations duty as well as Wales fly-half Callum Sheedy, but were soon on the scoresheet when former All Black Charles Piutau danced through before setting up O'Conor.
And after three Eden penalties, Wasps' Gopperth struck another long-range penalty before the break as Bristol led 16-13 at half-time.
Pat Lam's side continued to dominate the phases in the second half, with Joyce going over shortly after Eden had hit the upright from a penalty kick.
And Eden and Piutau were both involved as Adeolokun crossed in the corner with 11 minutes remaining, before Bassett broke through to give the visitors a last-minute try.
But it was the Bears who would have the final score as replacement forward Vui went under the posts with the clock in the red to bring up a deserved bonus point.
The result means Wasps stay in ninth while Bristol extend their lead at the top before second-placed Exeter take on Harlequins, in third, at 12:30 GMT on Saturday.
'We want Six Nations absences to feel normal' - what they said
Bristol director of rugby Pat Lam told BBC Radio Bristol:
"It's 15 years since we last beat Wasps, it's the first time I've beaten them as a coach. Certainly, with the amount of unavailability we have [this was a great result].
"But with our system, it doesn't matter who steps up, we have that culture.
"The boys worked their way back and ground things out and to get five points in these conditions was fantastic.
"I want us to be used to this Six Nations window. I'm preparing that we're going to have a lot of guys away every year. The whole squad is important, if you play for the Bristol Bears it doesn't matter who puts the jersey on, the job's the same."
Wasps head coach Lee Blackett told BBC CWR:
"I thought we were in the game, I thought we started the game really well.
"When things aren't going your way you have things like them hitting the woodwork and then scoring. I thought that was a vital game-changing moment.
"I felt there were certain aspects that we improved on but there are other things we must work on. There's a lot of boys very frustrated in the dressing room.
"This'll be a big test now for the players and me as a coach. There's only one way through it. You work hard."
Bristol Bears: C Piutau; Adeolokun, Purdy, O'Conor, Naulago; Eden, Uren; Thomas, Byrne, Lahiff, Attwood, Joyce, Luatua (capt), Thomas, Hughes.
Replacements: Capon, Woolmore, Afoa, Vui, Heenan, Kessell, Powell, Fricker.
Wasps: Miller; Kibirige, Fekitoa, Gopperth, Bassett; Umaga, Porter; West, Oghre, Toomaga-Allen, Rowlands, Gaskell, Shields (capt), Young, Vailanu.
Replacements: Taylor, Harris, Owlett, Douglas, T Willis, Vellacott, Le Bourgeois, Minozzi.
Referee: Karl Dickson.