Northampton (11) 25
Elliott 2 Pen:
Bath (9) 23
Penalty try, Rokoduguni Con:
Heathcote 2 Pen:
Two tries from Jamie Elliott and 15 points from Stephen Myler secured a narrow win for Northampton over Bath.
Myler and Tom Heathcote traded penalties before Elliot's first helped Saints to a 11-9 lead at the break.
Bath fought back, taking the lead after a penalty try and and an interception try from Semesa Rokoduguni, which were both converted by Heathcote.
However Elliott crossed over in the corner with seven minutes remaining and Saints withstood late pressure to win.
Northampton were without Courtney Lawes and Dylan Hartley, who were both on England duty, which saw Mike Haywood starting at hooker and Ben Nutley playing at flanker.
Bath, who had not won at Franklin's Gardens since 2000, made four changes to their starting XV as hooker Rob Webber captained the side for the first time.
The visitors were forced into a late change as Matt Banahan suffered with back spasms on Saturday morning, with the England centre replaced by Rokoduguni.
Bath had the better of the early exchanges, dominating the Northampton line-out, but conceded the first try midway through the first half when they lost their own line-out.
A long throw was stolen by the Saints and after Soane Tonga'uiha and Phil Dowson drove for the line, Elliott gathered a long pass and opened the scoring.
Heathcote reduced the arrears before half-time but could have gone in ahead had Nick Abendanon not knocked-on when he was set to cross over.
Three penalties from Myler put the home side 20-9 ahead and they appeared to be comfortable but 14 unanswered points gave Bath the lead.
Firstly referee Luke Pearce awarded a penalty try for an infringement at the scrum before Fijian centre Rokoduguni intercepted and ran over half the length of the pitch to touch down.
But Northampton rallied and secured their 10th Premiership win of the season and moved six points clear of their opponents, when Elliott scored in the corner following good work from Ben Foden.
VIEWS FROM THE DRESSING ROOM
Northampton Saints backs coach Alan Dickens told BBC Radio Northampton:
"We scored two good tries in the outside channels, so I'm pleased, but I'm pleased with all the team.
"The desire and the commitment for our lads to get back and make Bath make that extra pass to score was a credit to them.
"We were comfortable with what we did in the first half and it was just a case of building on that.
"I don't think the backs have been playing with a lack of confidence, you go through periods within the season that are tough."
Bath defence coach Mike Ford said:
"We were 20-9 down but the lads never gave up. We knew the players wouldn't stop fighting and we got two tries to go in front.
"It was pretty disappointing to concede a second, but it was a great game.
"The breakdown was a real contest and it was small margins in the end."
Foden; Wilson, Pisi, May, Elliott; Myler, Dickson; Tonga'uiha, Haywood, Mercey; Manoa, Sorenson; Dowson (c), Nutley, Van Velze.
McMillan for Haywood (39), Doran-Jones for Mercey (54), Waller for Tonga'uiha (62), Waldouck for May (71), Craig for Sorenson (78).
Abendanon; Agulla, Rokoduguni, Eastmond, Biggs; Heathcote, Stringer; Beech, Webber (c), Perenise; Day, Attwood; Gilbert, Fearns, Skirving.
Catt for Beech (46), Koster for Gilbert (63), Spencer for Day (63), Cuthbert for Abendanon (64), Batty for Webber (68), Palma-Newport for Perenise (68), Claassens for Stringer (75) Vesty for Eastmond (76).
Luke Pearce (RFU).