Saints showed real spirit as they snatched a dramatic late win against Bath at Franklin's Gardens on Saturday afternoon.
David Ribbans powered over and James Grayson converted to seal a gritty 27-26 success to move the black, green and gold up to fifth in the Gallagher Premiership standings.
Bath thought they had done enough when two Rhys Priestland penalties put them 26-20 up.
But Saints kept fighting and they drew a huge roar from the home fans as they sealed a seventh successive home win in all competitions.
Grayson's early penalty put Chris Boyd's side in front early on but they would not lead again until the end of the game as Bath grew into proceedings.
Scores from Rory Hutchinson and the hugely impressive Alex Mitchell kept Saints in the game, and even though the conceded a bucketload of penalties, they kept battling.
And Grayson had the final say with the conversion after Ribbans used a penalty to finally find a way through the Bath rearguard.
Saints had smashed Sale Sharks 67-17 at the Gardens a week earlier and they came into their latest home game with real confidence.
They almost made another flying start as Paul Hill charged forward, Mitchell made a razor-sharp run and Piers Francis was just held up.
Ribbans was also held up moments later as Saints continued to pile the pressure on, and Bath eventually earned some respite as they forced a rampaging Tom Wood to knock on.
Bath made their way up the field thanks to three quick penalties, allowing them to finally put some pressure on Saints.
But the home side stood tall in what was a frantic opening to the game and after winning a scrum penalty, they took the lead, with Grayson landing the kick.
The game then started to become more fragmented with injuries and delays at the scrum causing frustration for the Gardens fans.
Ahsee Tuala had to be switched on to stop Cooper Vuna scoring on the left, with the Bath winger beaten to his own kick by the Samoan.
But Bath did score soon after as Ruaridh McConnochie raced down the right and just managed to ground the ball under pressure.
Priestland converted and Saints were 7-3 down with nine minutes to go before the break.
Bath were knocking on the door again soon after but Saints, who had been given little by referee Ian Tempest, finally won a penalty to relieve the pressure.
After heading in at half-time four points up, Bath quickly extended that lead in the second period with Priestland landing a penalty won at the scrum.
But Saints hit back straight away, finally grabbing their first try as fine combination play between George Furbank and Hutchinson resulted in the latter scoring in the corner.
Grayson kicked the conversion superbly from the sun-soaked touchline and the scores were now level at 10-10.
But any thoughts Saints had about getting the lead they held early in the game back were soon stifled as Zach Mercer spotted a gap and scored for Bath.
Priestland converted, but Grayson soon landed a scrum penalty to reduce the deficit to just four points with 24 minutes remaining.
Priestland cancelled that effort out to make it 20-13 to Bath, with referee Tempest continuing to attract the ire of the home supporters.
But they were on their feet soon after as scrum-half Mitchell squeezed through a gap in the away defence to score a crucial try.
The noise reverberated around the ground after Grayson converted to level the scores once more and hopes were high that the hosts could claim victory in the final 15 minutes.
Mitchell was forced to make a crucial tap tackle on the onrushing Jonathan Joseph before Bath won a penalty, which Priestland landed to give his team a 23-20 lead.
And Priestland was on target again soon after, with cries of 'you don't know what you're doing' directed at referee Tempest by some sections of the Gordon Terrace.
Saints had fewer than seven minutes to salvage the game but they kept coming and after Bath gave away a penalty, Ribbans found a way through the rearguard to score.
Grayson converted, bringing a huge cheer as the home fans celebrated a dramatic win.
Saints: Furbank; Tuala, Hutchinson, Francis (Burrell 39), Naiyaravoro (Pisi 62); Grayson, Mitchell; Waller (c) (van Wyk 55), Marshall (Fish 55), Hill (Franks 62); Ribbans, Ratuniyarawa (Moon 68); Haskell (Gibson 50), Ludlam, Wood.
Bath: Atkins (Burns 20); McConnochie, Joseph, Willison (Clark 67), Vuna; Priestland, Chudley (cc) (Green 67); Catt (van Rooyen 61), Dunn (Walker 61), Thomas (Lahiff 61); Attwood; Charteris (cc) (Ewels 27); Stooke, Louw, Mercer (Grant 75).
Referee: Ian Tempest