Gloucester held off a late Wasps onslaught to edge a 35-33 thriller at the Coventry Building Society Arena.
Tries from England wing Jonny May and Billy Twelvetrees put the visitors 23-12 up at the break, aided by 13 points from the boot of Adam Hastings.
Wasps kept in touch via Thomas Young and Gabriel Oghre but Twelvetrees crossed again early in the second half.
Alfie Barbeary kept Wasps in it but Jack Clement's try proved decisive despite Jacob Umaga's late double.
Victory keeps Gloucester sixth, two points off the top four, while Wasps climb a place to ninth by virtue of the two losing bonus points earned by their second-half rally.
Two of Gloucester's returning international stars played a big part in the opening score, Scotland's Adam Hastings with an exquisite chip and chase before England's May dummied over from a ruck.
Hastings added the conversion and soon stretched the lead with two penalties to punish multiple Wasps infringements.
At 13-0 down, the hosts responded well, Umaga's kick setting Wasps up nicely inside the Gloucester five-metre line and Young made their pressure pay by burrowing over.
However, Gloucester quickly reaffirmed their advantage, Twelvetrees taking Mark Atkinson's offload in his stride to sprint in virtually unchallenged.
A Clement try was disallowed because the ball had touched the line assistant as Gloucester continued to boss proceedings, Hastings adding his third penalty to extend their lead.
However, Wasps gave themselves a glimmer of light on the stroke of half-time, Oghre crashing over from a line-out drive after another excellent kick from Umaga, who added the conversion.
Atkinson and Twelvetrees combined again for the latter to stretch Gloucester's lead early in the second half but Barbeary went over from close range within five minutes of his introduction from the bench.
Umaga converted but his error led to a penalty after an ill-advised attempt to let a ball go dead and Clement punished him by going over from the back of a driving maul.
Wasps, to their credit, continued to battle despite being behind throughout and Umaga atoned for his earlier error by diving over from close range and adding a touchline conversion.
When Umaga chased his own kick to touch down with two minutes remaining, a magical comeback looked on but Wasps spilled the ball in Gloucester's half with the visitors relieved to hear the hooter.
Gloucester head coach George Skivington told BBC Radio Gloucestershire:
"We had a poor last 15 minutes - a couple of the lads wanted to close the game out and went for big plays when we probably didn't need it.
"Wasps are a good side who can score tries out of nothing and they did that at the back end of the game, and it very nearly cost us.
"If you take that last 15 minutes as a snap shot, there's a lot for us to learn as a group.
"There's a lot of lads who've walked in pretty disappointed - I've had to remind them we've just taken five points on the road because they're disappointed with how they were in that last 15.
"On the flip side, we did enough to win the game."
Wasps head coach Lee Blackett to BBC Radio CWR:
"It's a disappointing night and a disappointing result. Two points, we will take - but we didn't want two points from this game, we wanted at least double that, if not five.
"I think we are going to go home and have a difficult weekend reflecting on that game.
"We were poor in the first half - we were very, very sloppy with the ball and I thought defensively we were too soft. There were a few guys playing slightly out of position but that's not an excuse.
"You've got to give credit to the boys the way they fought back and we had an opportunity - a three v two down the edge but our skill level on those edges let us down."
Wasps: Minozzi, Kibirige, Bassett, Le Bourgeois, Hougaard, Umaga, Porter; Hislop, Oghre, Toomaga-Allen, Fifita, Stooke, Shields (c), Young, Willis.
Replacements: Frost, Reid, Millar-Mills, De Chaves, Carr, Barbeary, Wolstenholme, Gopperth.
Gloucester: Moyle, May, Twelvetrees, Atkinson, Thorley, Hastings, Meehan; Rapava-Ruskin, Singleton, Gotovtsev, Alemanno, Davidson, Clarke, Ludlow (c), Clement.
Replacements:Socino, Ford-Robinson, Balmain, Thomas, Reid, Chapman, Kveseladze, Evans.
Sin-bin: May (74)
Referee: Luke Pearce (RFU).
Rugby Weekly Union podcast - listen and subscribe here