Bath moved into the top three of the Aviva Premiership after a comfortable 32-9 win against struggling Northampton at the Rec.
Wing Matt Banahan, replacement prop Nick Auterac and substitute hooker Ross Batty scored tries while fly-half Freddie Burns kicked 17 points.
Stand-off Piers Francis scored three penalties for the Saints, who remain 10th after their ninth defeat of the campaign.
For an hour, the contest was an attritional one but Bath hit top gear in the closing quarter of the match to take control.
But it was Northampton who had set the agenda from the outset with all the territory for Francis to boot two penalties for a 6-0 lead.
Bath's second meaningful forage into Northampton's half lead to a straight-forward three points from 30 metres as Burns slotted a penalty after a ruck offence.
That woke the home side up. A decent move down the right saw scrum-half Kahn Fotuali'I played off the ball and, from 24 metres, Burns levelled with his second penalty.
And, when Northampton illegally pushed Bath's jumpers at a line, Burns put his team in front for the first time from 30 metres with another three points.
The half looked to finish in a midfield stalemate, yet it burst into life when Northampton centre Tom Stephenson's pass went loose.
Bath midfield man Ben Tapuai hacked the ball on before Banahan grabbed it and raced past the despairing opposition defence for a sizzling right corner try that Burns converted, putting Bath 10 points ahead at the break.
Burns and Francis swapped penalties before the hour, but the Saints found themselves with a big task to rescue the victory from the home side when prop Kieran Brookes tackled home lock Elliott Stooke without the ball.
Burns kicked a fifth penalty as Bath put the Saints in all sorts of problems.
And Northampton cracked when Burns sent over a perfect pass wide to replacement Auterac to dive over.
With three minutes left Batty went over in the corner after good work from replacements Josh Lewis and Chris Cook, but Bath could not find a fourth try that would have returned a bonus point.