Saints started brightly, putting the ball through the hands and exerting plenty of dominance at the scrum, winning a penalty against the head in the first setpiece of the game.
But it was twice at the breakdown where the visitors were undone. First a promising break came to an end when James Craig had the ball taken off him by Francois Louw. Then when Vasily Artemyev - who had earlier asked plenty of questions with an arcing run - became isolated the clearing runners came in from the side to concede a penalty.
This was well within Olly Barkley's striking range and while the England centre hit the bar with his second attempt the third was back on target and Bath had some breathing space.
They had come close to the line, too, with Nick Abendanon making a good run and Tom Biggs recovering Barkley's miss to put his team in a dangerous position. The defence had been up to those challenges, and when Ben Nutley handed off Louw to help send himself deep into Bath territory it eventually earned a penalty from which Stephen Myler got the visitors on the board.
Barkley replied, but Saints kept their patience and by mixing the play and running powerfully - Paul Diggin and Brett Sharman both eager to get their hands on the ball - they got back up to the home 22 and within three points courtesy of a second Myler penalty.
The scoring may have been monopolised by the boot - Barkley landing a fourth penalty as the half-hour approached - but both teams were looking to spread the ball and try and find each others' weaknesses.
The breakthrough came three minutes before half-time with Ross Batty's try, but it was scarcely what the Saints had deserved. Their defensive pressure had been forcing Bath back and back, and while the ball hit the deck repeatedly it was a blue shirt who was first to get there.
This opportunism allowed Anthony Perenise and Louw to get Bath onto the front foot, and with the white shirts scrambling back Stephen Donald spotted an overlap which was finished by the hooker in the right corner.
Barkley added the extras, but Myler was also on form with the boot and when Saints forced a turnover on the home 22 following the kick off to eventually win a penalty he slotted the three points to keep Saints in touch going into the break, 19-9 down.
Having conceded right before the break, Saints then committed the cardinal sin of letting Bath over the line straight after the restart. Like the first try this effort owed plenty to the hosts' quickness to the loose ball. First of all they snaffled Samu Manoa's fumble, then Perenise scooped up a bouncing pass off the deck to leave the defence flatfooted and power his way to the line.
It was far from what the travellers wanted, but they replied in perfect fashion three minutes later as Alex Waller finished off a lineout drive in the right corner. The score justified the decision to send a kickable penalty to the corner, and showed the Saints' power to the full.
The visitors had also been dominating the scrum, and when another kickable penalty was awarded 10 metres from the home line skipper Christian Day opted this time for a setpiece. But Bath managed to hold out, wheeled the next engagement and managed to clear their lines.
In hindsight the three points may have been the better option, but regardless as the hour approached the visitors were still in touch, just 12 points down, and sending on the cavalry in the form of Soane Tonga'uiha, Brian Mujati, Roger Wilson, Tom May and Noah Cato.
It was certainly no reflection on how the starters had played. Indeed the two tries aside there had been plenty of positives to take from the game. The defence was by and large solid, there had been plenty of variety in attack which had got the white shirts over the gain line, and the setpiece was certainly dominant.
However with Barkley still prominent with the boot Bath nudged themselves out to a 15-point lead with 16 minutes to go. But the win was sealed with two tries in the space of three minutes from Olly Woodburn and World Cup-winner Donald. Replacement Guy Mercer had been the catalyst for both scores with his running lines finding the holes in the defensive line, but Charlie Beech's try that rubbed salt into the wounds owed plenty to the prop's ability to sneak under the final defender.
There was one final flourish from the Saints in an attempt to secure a consolation score, but this was in vain and they will need to get the full points against London Wasps next week to keep semi-final hopes alive.
REFEREE Sean DAVEY
9mins BATH Pen Barkley 3-0
12mins BATH Miss pen Barkley
15mins BATH Pen Barkley 6-0
18mins SAINTS Pen Myler 6-3
20mins BATH Pen Barkley 9-3
24mins SAINTS Pen Myler 9-6
27mins BATH Pen Barkley 12-6
37mins BATH Try Batty Con Barkley 19-6
40mins SAINTS Pen Myler 19-9
HALF-TIME BATH 19 SAINTS 9
42mins BATH Try Perenise Con Barkley 26-9
45mins SAINTS Try Waller 26-14
64mins BATH Pen Barkley 29-14
70mins BATH Try Woodburn 34-14
73mins BATH Try Donald 39-14
77mins BATH Try Beech Con Barkley 46-14
FULL-TIME BATH 46 SAINTS 14