The Cobblers are breathing down the neck of the League Two pace setters after Scott McGleish's seventh goal in five games brought a hard fought victory over Shrewsbury.
McGleish struck the all important winner in the 50th minute when he nipped in first ahead of a Shrews defender to touch home a cross by Josh Low who had been set racing down the right by a clever flick from Junior Mendes.
Northampton had now suffered only one defeat in 12 league matches while Shrewsbury enter the festive period in need of a tonic after winning only three of their last fourteen.
It was hardly pretty stuff, and Northampton were frustrated in the first half by a solid rear guard effort by the visitor's points. McGleish saw a left foot volley deflected wide and was unlucky in the 17th minute with a header from David Hunt's long throw which forced a fine diving save by Joe Hart at the foot of his right hand post.
At the other end Shrewsbury's only real opening came when Lee Harper spilled a cross by Kelvin Langmead but Shawn Dyche managed to clear before Colin McMenamin could cease on the rebound.
After McGleish had fired the Cobblers infront they almost stretched their lead when Josh Low's deflected shot almost found the corner past an unsighted Hart but the goalkeeper reacted smartly to push the ball away.
Shrewsbury were unable to carve out many chances but they did go close in the 68th minute when former Northampton man Richard Hope saw his header from Jamie Tolley's corner well saved by Harper. Almost immediately, Tolley let fly with a 30-yard volley which Haper saved at the second attempt.
Shrewsbury substitute Ciaran Lyng had his side's last serious effort with seven minutes left when he fired wide but a point for the visitors would have been an injustice.