Bath found themselves at the top of the Guinness Premiership table after recording a 25-14 victory over Northampton at the Rec on Saturday.
But the win over the Saints was less convincing than the scoreline suggests.
The visitors enjoyed plenty of possession but did not possess a cutting edge sharp enough to open up the home defence until the final minute when lock Juandre Kruger crossed in the corner.
However, it was another South African, Bath scrum-half Michael Claassens, who was man-of-the-match, scoring two tries and relishing the physical contest around the breakdown.
Bath's first try came in the second minute when Matt Banahan latched on to Butch James's grubber kick. The fly-half failed to convert his winger's try though.
Stephen Myler sent a 50m penalty kick wide at the other end for the visitors but made amends with a more straightforward effort on 14 minutes, only for James to reply almost immediately.
The home side, out of sorts in a last-gasp win over Sale last week at the Recreation Ground, again were guilty of sloppy work, neglecting to protect the scraps of possession allowed them by the lively Northampton pack.
Dylan Hartley, looking to prove a point against England's hooker in residence, Lee Mears, was held just short of the line on 19 minutes but when Bath prop David Flatman was penalised at the resulting scrum, Myler made it 10-6 with his second penalty.
James slotted over a penalty after the visitors were offside at a ruck but there was a scare for Bath when the Springbok had a clearance kick charged down at the other end.
It was only Joe Maddock's alertness that denied Myler the try.
Despite all the possession and territory they could have wanted, Saints could not open up the unyielding Bath defence.
Full-back Jack Cuthbert, struggling to field Myler's high kicks in the biting wind, fared no better when called up for a long-range kick on the half-time whistle.
Myler pulled the score back to 13-9 soon after the restart with a 45m penalty but Bath latched on to a fumble by Saints' skipper Bruce Reihana to work their way within striking distance of the visitors' line. Saints conceded two scrums and a free-kick before Claassens dived through a gap and stretched out an arm to score.
James could not convert but Myler was finding it no easier and missed a penalty to leave his side nine points adrift going into the last 15 minutes.
After Bath introduced Justin Harrison and Daniel Browne off the bench they suddenly had the advantage up front and it was Northampton who were struggling for parity.
It was no surprise then that Claassens claimed his second try on 74 minutes off the back of a scrum, James converting.
They might have hoped for a bonus point-try but Saints came back with a consolation for Kruger collecting Myler's chip.
Tries: Banahan, Claassens 2
Cons: James 2
Pens: James 2
For Northampton Saints:
Pens: Myler 3
Bath: 15 Jack Cuthbert, 14 Joe Maddock, 13 Alex Crockett, 12 Shontayne Hape, 11 Matt Banahan, 10 Butch James, 9 Michael Claassens, 8 Jonny Faamatuainu, 7 Michael Lipman (c), 6 Andy Beattie, 5 Peter Short, 4 Stuart Hooper, 3 Matt Stevens, 2 Lee Mears, 1 David Flatman.
Replacements: 16 Pieter Dixon, 17 Duncan Bell, 18 Justin Harrison, 19 Daniel Browne, 20 Scott Bemand, 21 Eliota Fuimaono-Sapolu, 22 Andrew Higgins.
Northampton Saints: 15 Bruce Reihana (c), 14 Paul Diggin, 13 Jon Clarke, 12 James Downey, 11 Sean Lamont, 10 Stephen Myler, 9 Lee Dickson, 8 Roger Wilson, 7 Scott Gray, 6 Mark Easter, 5 Juandre Kruger, 4 Ignacio Fernandez Lobbe, 3 Euan Murray, 2 Dylan Hartley, 1 Soane Tonga'uiha.
Replacements: 16 Paul Shields, 17 Tom Smith, 18 Christian Day, 19 Mark Hopley, 20 Ben Foden, 21 Carlos Spencer, 22 Chris Mayor.
Referee: Andrew Small
Touch judges: Andrew Pearce, Alan Biggs
Television match official: Laurie Bryant