The Cobblers needed a late Ben Harding goal to sink Bristol Rovers in a low-entertainment game at Sixfields.
Town produced almost nothing of attacking intent during a poor match that looked to be heading for a draw until Harding lashed in Clarke Carlisle’s flick-on from a Ben Tozer throw.
The goal was initially credited to skipper Kelvin Langmead, but it was confirmed post-match that the final touch was Harding’s.
The win was a costly one - leading goalscorer Adebayo Akinfenwa went off injured at half-time - and Northampton were fortunate to pick up what is their 13th victory of the season.
With Chris Hackett ‘rested’, the Cobblers selection was an interesting one, with Jake Robinson and Roy O’Donovan - both effective centre-forwards - on the wings and the powerful duo of Akinfenwa and Clive Platt up front.
Still, it was Rovers who had the game’s first good chance, Joe Anyinsah firing straight at Lee Nicholls after Robinson had been caught in possession while trying to dribble his way out of defence.
Akinfenwa stayed down for longer than is comfortable after a collision with the visiting centre-backs midway through the first half and was substituted at half-time, Ishmel Demontagnac taking his place and moving to left wing with O’Donovan put up front.
Rovers were the better side for large proportions of the game and forced Nicholls into a good save with Elliot Richards’ shot from distance after 10 minutes of the second half.
The visitors were a constant force right to the end, and substitute Ellis Harrison was only denied a fine goal on the run by the sprawling block of Clarke Carlisle.
Saturday’s game against Plymouth was a low-entertainment affair but at least the Cobblers won it and this match was almost a mirror of it.
The decisive goal came later in the piece and was not as ugly.
But they both might prove vital when the dust has settled on the season.
Cobblers: Nicholls, Tozer, Langmead, Carlisle, Collins, Robinson, Hornby, Harding, O’Donovan, Platt, Akinfenwa
Subs: Demontagnac (for Akinfenwa 46), Guttridge (for Robinson 72), Johnson (for Platt 90+2mins)
Not used: Snedker, Oyeleke, Dias
Bristol Rovers: Mildenhall, Smith, McChrystal, Parkes, Brown, Richards, Woodards, O’Toole, Norburn, Hitchcock, Anyinsah
Subs: Harrison (for Hitchcock 76)
Not used: Paterson, Harding, Virgo, Gough, Goddard, Lockyer
Rovers fans: 329
Referee: Gavin Ward