Six penalties from Nick Robinson were enough for Premiership strugglers Wasps to see off London Irish.
Robinson and Steve Shingler exchanged penalties to leave the sides tied at 6-6 at the break.
The Wasps fly-half then kicked two more after half-time before Sailosi Tagicakibau's try and a Shingler conversion put the Exiles ahead.
But Robinson added to his tally twice more to move Wasps eight points clear of basement club Newcastle.
The win ended a run of nine consecutive defeats for the hosts and helps to alleviate some of their relegation concerns.
Robinson and Shingler both landed two kicks in a first half of few scoring opportunities.
The hosts wasted two good chances to cross over before Robinson was on hand twice more to kick the hosts into the lead.
Poor defending from Wasps then allowed Tagicakibau to break free and reach the line for the game's only try, which Shingler duly converted to give the Exiles a narrow advantage.
Wasps fought back well and, despite being unable to break down the visitors' strong defence, won the match thanks to two further efforts from Robinson.
VIEWS FROM THE DRESSING ROOM
Wasps director of rugby Dai Young:
"We turned the screw in the scrum and found the way to win. In difficult circumstances the players realised how important this result was, if we had lost it would have been 10 on the trot.
"It was so important to get that result and hopefully we can build on it now.
"This has been a difficult couple of months. We are certainly nowhere out of the woods yet because Newcastle are a good team and they are going to win some of their games so we've got to keep winning. It's in our own hands."
London Irish head coach Toby Booth:
"I'm terribly disappointed for our fans who have come to watch.
"Wasps played with the desperation you would expect and were good for the win.
"They managed the game and the contact area better than we did and they got the upper hand in the set pieces as well.
"It came down to our management of the game in key areas of the pitch and we didn't manage it that well at all."
London Wasps: Southwell (capt); Prydie, Daly, Waldouck, Wallace; Robinson, Simpson; Payne, Webber, McIntyre; Cannon, Birkett; Launchbury, Poff, Jones.
Replacements: Berry for Simpson (27), Taulafo for Payne (75), Broster for McIntyre (40), Du Plessis for Launchbury (62). Not Used: Lindsay, O'Donoghue, Davis, Emerick.
London Irish: Armitage; Ojo, Joseph, Bowden, Tagicakibau; Shingler, Samson; Lahiff, Buckland, Rautenbach; Kennedy, (capt), Garvey; Danaher, Thorpe, Sinclair,
Replacements: Homer for Ojo (75), Dermody for Lahiff (65), Blaney for Buckland (65), Roche for Garvey (70), Sisi for Sinclair (65). Not Used: Ion, Spratt, Allinson.
Referee: Martin Fox (RFU).