Chris Long bagged himself a first-half brace as Cobblers ended their six-game winless run by coming from behind and beating Walsall 2-1 in a feisty game at Sixfields.
Home fans would have been forgiving for fearing the worst when calamitous defending from their side led to Erhun Oztumer steering Walsall in front inside the first two minutes, but Town's response was impressive.
Long immediately headed in an equaliser and then completed the turnaround late in the first-half with a fine low effort , and the Cobblers defended with spirit and determination thereafter to see out a gritty victory.
The game had been played on the edge throughout and tempers boiled over in stoppage-time when Amadou Bakayoko and Matt Crooks both saw red, but that didn't take the gloss of a huge and much-needed victory for Town, who move out of the Sky Bet League One relegation zone as a result.
The Cobblers team included starts for Lewis McGugan, Aaron Pierre and John-Joe O'Toole as Jimmy Floyd Hasselbaink made three changes on the back of last week's big defeat at Oldham Athletic.
Goalkeeper Matt Ingram lost his fitness battle so David Cornell again donned the gloves and he was straight into the thick of the action when Town made a horror start in falling behind with just 90 seconds on the clock.
A lack of communication between Pierre and Cornell allowed striker Bakayoko pinch possession and he squared for Otzumer who, with only Ash Taylor on the line to beat, had no trouble in finding the bottom corner.
It was a terrible start for Northampton and many home fans around Sixfields would have been fearing the worst but, just three minutes later, their side levelled.
Sam Foley was the architect as he worked space on the right to deliver terrific cross for O'Toole and after Mark Gillespie did well to keep the first header out, Long was there to convert the rebound.
A more subdued period followed which allowed both teams to catch their breath and settle into the game, although David Buchanan was in the right place at the right time to hack Keiron Morris' toe-poked effort off the line while Bakayoko also dragged a shot wide.
The goalmouth action may have dried up following an explosive start but neither side gave the other an inch in a feisty first-half that didn't lack in taking points.
A couple of openings fell to Walsall but both times they blazed well over the crossbar from the edge of the penalty box and it was at the other end where what seemed only a half chances turned into a goal.
The Cobblers created little since their equaliser but they had the lead at half-time when Long, found by a Buchanan pass, took a touch to control, turned on the spot and unleashed a fizzing low effort that screamed beyond the diving Gillespie and into the bottom corner from 20 yards.
It was a fine goal and, just four minutes before the break, came at an excellent time for the hosts who were able to maintain their advantage until half-time.
And they began the second-half on top despite not troubling Gillespie as Walsall, chasing a fourth straight league win, were largely kept at arm's-length.
Neither goalkeeper was called into action until the 71st minute when Gillespie had to frantically scamper across his goal to turn behind Matt Grimes' superbly-stuck free-kick from all of 35 yards.
For the Saddlers, Cornell always seemed to have Luke Leahy's volley covered as Town dropped deeper and deeper in protection of their lead, and they missed the chance to put the game to bed when Long's first-time effort from inside the box deflected over.
Oztumer fired a free-kick straight at Cornell but Walsall could not fashion any clear sights of Cornell's goal as they slipped to defeat, and their misery was compounded in injury-time.
Tempers flared as Bakayoko launched himself into a terrible challenge on Foley and was rightly red carded, with Crooks also sent off for his part in Northampton's furious reaction, however it did not prevent the hosts from holding on.
Cobblers: Cornell, Moloney, Taylor, Pierre, Buchanan (c), Foley, McGugan (McGivern 90), O'Toole, Grimes, Crooks, Long (Poole 90)
Subs not used: Coddington, McWilliams, Smith, Waters, Richards
Walsall: Gillespie, Leahy, Guthrie, Chambers (c), Cuvelier (Edwards 22), Morris (Ganley 65), Wilson, Kinsella (Devlin 82), Ismail, Oztumer, Bakayoko
Subs not used: Jackson, Flanagan, Roverts, Agyei
Referee: Charles Breakspear
Walsall fans: 394