Wasps flanker Serge Betson makes a break against Northampton
Wasps survived a Northampton fightback to move up to third in the Premiership but their win was overshadowed by a head injury to Lachlan Mitchell.
The home side were 17-0 ahead after 32 minutes with four Dave Walder penalties and a try from Danny Cipriani.
And although Walder added a drop-goal, four Shane Geraghty penalties and one from Bruce Reihana put Saints in touch going into the final five minutes.
They piled on the pressure late on but Wasps were able to hang on.
The result gives Wasps their fourth win from their opening five games but of concern to Tony Hanks will be the injury to Mitchell.
Cipriani went off with a knee injury in the 70th minute and was replaced at full-back by the Australian, who hurled himself at Chris Ashton as the Saints winger closed in on the line for what could have been a match-winning score.
Mitchell appeared to be hit flush in the face and the game was stopped for 10 minutes as he received treatment and was eventually stretchered off.
Mitchell was taken to hospital with a neck injury and later discharged, with the club saying he "will be observed over the next 48 hours by Wasps medical team".
Wasps director of rugby Tony Hanks: "I thought the composure we showed was great.
"We didn't give away any penalties, we defended well, trusted each other and it's a credit to the guys who came off the bench.
"There aren't too many braver than Lachie and that tackle he made at the end was a try-saving tackle and a big moment for us."
Northampton director of rugby Jim Mallinder: "It was the first 40 minutes where we lost the game.
"Our set-piece was poor, we didn't look after the ball and we gave far too many penalties away.
"We improved in the second half and that's what we have to take positives from."
Wasps: Cipriani; Sackey, Jacobs, Waldouck, Varndell; Walder, Simpson; Bocca, Webber, Vickery, Skivington, Birkett, Ward-Smith, Betsen, Hart, Mitchell. Replacements: Mitchell for Cipriani (69), Lindsay for Webber (69), Leo for Skivington (61), Matthews for Birkett (75), Hickey for Mitchell (72). Not Used: Beech, Broster, Fury.
Northampton: Foden; Ashton, Mayor, Downey, Reihana; Geraghty, Dickson; Dreyer, Hartley, Mujati, Fernandez Lobbe, Kruger, Dowson, Easter, Wilson. Replacements: Tonga'uiha for Dreyer (51), Gonzalez Bonorino for Mujati (51), Lawes for Fernandez Lobbe (51), Best for Easter (73). Not Used: Sharman, Dickens, Myler, Ansbro.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.