It was to be another nervy ending for the black, green and gold, but they saw the game out, with Courtnall Skosan's score giving them a much-needed Gallagher Premiership win.
Wasps had gone 10-0 up early on, with a controversial Jacob Umaga try bolstering their tally, but Saints roared back into contention and were 12-10 up at the break.
Wasps continued to put up a fight, and Will Porter's effort five minutes from time gave them hope.
But Saints held their nerve and put an end to their four-match losing streak, also ending a run of 12 successive defeats in Premiership matches played on a Sunday.
It had looked like that run may continue when they got off to a nightmare start as some patient Wasps play resulted in a score for Umaga.
The Wasps fly-half latched on to a pass from Tim Cardall and skipped past Mitchell to score, though replays showed there wasn't a clear grounding, with Jimmy Gopperth adding the simple conversion.
Gopperth was soon notching a penalty to stretch the lead to 10 points as sluggish Saints struggled to get started.
That was until Mitchell opened the door for Juarno Augustus to charge forward, with David Ribbans taking up the fight.
When the ball came loose, Mitchell reacted first and dived on it to ground it, earning him a try.
Grayson sent the conversion wide to leave the gap at five points, but the fly-half made amends by making a try-saving intervention with Marcus Watson on the charge.
Grayson was heavily involved for Saints and a fine pass to Alex Coles out wide put pressure on Wasps, forcing them to concede a penalty.
Saints used the possession to piece together a nice move that ended with Grayson diving over the line.
Grayson converted to make it 12-10, giving his team the lead for the first time in the game, and that was how it stayed until half-time.
Saints continued to press on at the start of the second period and some powerful play saw Waller grab a score.
Grayson converted and Saints were 19-10 up, seeking their bonus-point try.
It looked like they had it when Mitchell flew over after a fine offload from Ribbans, but the TMO spotted that Waller had pushed Dan Robson off the ball in the build-up and the try was chalked off.
Having looked like they were out of the game, Wasps were suddenly right back in it as Porter found a way through the Saints defence and danced around in the 22 before giving the ball to Paolo Odogwu, who scored in the corner.
Gopperth converted and nerves were once again jangling at the Gardens.
It looked like Saints had eased them when George Furbank went over, but again the try was ruled out, with Sam Matavesi penalised for blocking in the build-up.
Grayson slotted a penalty, given for an earlier high tackle, and Saints led 22-15.
Finally, the black, green and gold managed to bag their bonus-point try when Fraser Dingwall picked up a loose ball near halfway and set Skosan away.
Grayson missed the conversion and the game was not over yet as Porter responded with a try almost immediately.
Umaga converted and the gap was just five points with as many minutes remaining.
Grayson had two chances to put the game to bed from the tee, but he missed both penalties.
Nevertheless, it wasn't to matter as Saints savoured a timely success.
Saints: Furbank; Skosan, Dingwall (c) (Francis 74), Hutchinson, Collins (Sleightholme 61); Grayson, Mitchell (James 74); Waller (Iyogun 56), Matavesi (Haywood 74), Hill (Carey 74); Ribbans, Ratuniyarawa (Nansen 66); Coles, Harrison (Tonks 49), Augustus.
Wasps: Watson (Atkinson 49); Odogwu, Spink, Gopperth, Bassett; Umaga, Robson; West (Hislop 49), Oghre, Alo (Toomaga-Allen 49); Cardall (Fifita 55 (Carr 66)), Stooke; Shields (c), J Willis, T Willis.
Referee: Wayne Barnes