O'Toole and Ogogo see red as battling Cobblers and Shrews share the spoils at Sixfields
Cobblers picked up an unexpected but welcome point when they held title-chasing Shrewsbury Town to a 1-1 draw in a bad-tempered yet absorbing affair at Sixfields on Tuesday.
The first-half was a world away from the opening 45 minutes against Rotherham on Saturday as Town played with commitment, drive and quality to take a shock lead into half-time.
Having limited the in-form, promotion-hunting visitors to very few chances, Shay Facey broke the deadlock on the brink of half-time with his first goal for the club.
Tempers flared in the second-half when John-Joe O'Toole and Abu Ogogo both saw red for a punch-up that came totally out out of the blue, and Shrewsbury ensured they didn't go home empty-handed thanks to Jon Nolan's crisp volley, though it was not enough to take them back to the league one summit.
The blow of losing O'Toole for at least three games is a big one, and the Cobblers will also feel they could have taken all three points from Tuesday's game, but a point still represents a marked improvement on Saturday and renewed hope they can put up a fight in their battle for survival.
Jimmy Floyd Hasselbaink threw a few curveballs with his team selection as he made three changes from Saturday's dismal defeat to Rotherham.
In came Facey, Kevin van Veen and Boris Mathis, the latter making his full Cobblers debut, and there was also a formation tweak as Town went 3-5-2 with Joe Bunney and Facey playing as wing-backs.
And that seemed to do the trick in the early exchanges when the hosts made a bright, positive start that was a world away from their efforts three days earlier.
The opening quarter lacked chances and goalmouth action but it wasn't short on commitment with neither team willing to give an inch in their respective battles at the top and bottom of league one.
It took until the half-hour mark for either team to have a shot, and it was van Veen who let fly as he drifted into space 25 yards and forced Dean Henderson to push around the post.
Visiting skipper Ogogo went even closer within minutes, heading fractionally wide via a deflection, as Shrewsbury gradually saw more of the ball and appeared to end the first-half on top.
But there was a sting in the tale on the cusp of half-time when, against all odds, it was Town who struck first.
Bunney, who looked a player transformed at wing-back, was the architect as he made the most of brilliant work by Mathis on the left-wing to whip in a teasing cross that Facey, arriving at the back post, steered beyond Henderson and into the corner.
That was enough to edge Northampton ahead at the break and there was no let up in their intensity in the second-half as they continued to keep Shrewsbury at arm's-length.
Tempers then boiled over in a chaotic and seemingly needless brawl around the hour-mark that centred around O'Toole and Ogogo.
The two players were scrapping it out on the floor and, with punches thrown, referee Andy Davies had no choice but to send them both off.
The two players were still furious as they left the pitch, sparking more unpleasant scenes in the dugouts, and once play resumed, Shrewsbury quickly got on with the task of equalising.
Shaun Whalley won a controversial free-kick wide on the right and from the half-cleared cross, the ball dropped to Nolan who, lurking on the edge of the box, sent a sweet first-time volley crashing into the bottom corner.
A game that had been meandering along had suddenly burst into life with both sets of players and fans feeling a sense of injustice, especially the Cobblers, but Shrewsbury were now on top.
Chances continued to be few and far between as the two sides frantically went in search of all three points, and the visitors should have taken a lead lead when Omar Beckles planted his free header against the crossbar.
With plenty on the line for both teams, the closing few moments were frenetic and scrappy but, despite some heart-in-mouth moments, the game ended in stalemate.
Cobblers: O'Donnell, Moloney, Taylor (c), Turnbull, Bunney, Facey, Grimes, O'Toole, Pereira (McWilliams 82), van Veen (Luckassen 59), Mathis (Ariyibi 73)
Subs not used: Cornell, Barnett, Hoskins, Long
Shrewsbury: Henderson, Sadler, Beckles, Whalley, Ogogo (c), B Morris, Hendrie (Payne 59), Nolan, Nsiala, Rodman, C Morris (John-Lewos 88)
Subs not used: Lowe, Thomas, Gnahoua, MacGillivary, Jones
Referee: Andy Davies
Shrewsbury fans: 615