Northampton moved up to fifth in the Premiership table thanks to a second-half comeback against Bath.
Saints dominated possession and territory in the first half but trailed 14-0 at the break through two converted tries from winger Jeff Williams.
After Bath’s Chris Cook was sin-binned, Teimana Harrison touched down in the corner and a penalty from Stephen Myler reduced the arrears.
Mikey Haywood powered over late on and Myler converted to seal victory.
Bath capitalised on their scant first-half opportunities, with Williams pouncing on a slip by Saints full-back Harry Mallinder to open the scoring and adding a breakaway second after hacking on a clearing kick.
The hosts had a score from George North ruled out just before half-time for a forward pass from Mallinder but worked their way back into the game when Cook was shown a yellow card for kicking the ball out of Lee Dickson’s hands at the breakdown.
Northampton’s game was marked by handling errors and a lack of penetration but they kept their composure at the end as Harrison finished well before Haywood dived over following a rolling maul.
Saints’ victory keeps their hopes of European Champions Cup qualification alive but if Harlequins win at London Irish on Sunday, Jim Mallinder’s side may need to win at Gloucester on the final day of the season to ensure a top-six finish.
Northampton director of rugby Jim Mallinder: “It was similar to the Leicester game last week, conceding two tries out of the blue.
“We were attacking and then we lost two tries and were suddenly 14-0 down.
“But we talked about them having a big set of forwards and tiring in the second half, so we wanted to keep putting them under pressure and thankfully we got the results.
“I was worried all the way through from the first minute to the last to be honest. But we’ve seen Myler time and time again kick goals like that.”
Bath head coach Mike Ford: “We just lost our composure where we wouldn’t have done that last year. It’s an issue and one we’ve got to get right for next season.
“We’ve been competitive all year, but clearly our confidence of winning those small margin games like today has been tough.
“You can analyse too much and start thinking everything’s wrong. Once we couldn’t make the top six, we took a deep breath and we’ve played some good rugby in the past few weeks.
“It’s difficult to put your finger on it and there are different factors, but I’m confident that this club will be there or thereabouts next year.”
Northampton Saints: Mallinder; K Pisi, G Pisi, Burrell, North; Myler, Dickson (capt); Waller, Haywood, Brookes, Lawes, Day, Gibson, Wood, Harrison
Replacements: Marshall, Ma’afu, Hill, Matfield, Nutley, Fotuali’i, Hanrahan, Wilson.
Bath: Watson; Williams, Joseph, Devoto, Banahan; Priestland, Cook; Catt, Webber, Wilson, Ewels, Attwood, Garvey, Louw (capt), Denton.
Replacements: Dunn, Auterac, Lahiff, Day, Houston, Homer, Ford, Clark.
Sin bin: Cook (48)
Referee: Wayne Barnes.