Erhun Oztumer scored an 88th-minute winner as Walsall overcame local neighbours Shrewsbury in a five-goal thriller.
Amadou Bakayoko drilled the Saddlers ahead on 23 minutes, but managerless Salop equalised seven minutes later through Oliver Lancashire.
Kieron Morris restored Walsall’s lead before half-time, but the visitors equalised again when Junior Brown converted from a corner.
Shrewsbury’s Ryan McGivern was then sent off for violent conduct, and Walsall made their numerical advantage tell when Oztumer netted directly from a corner.
Bakayoko was shown red for over-celebrating, but Jon Whitney’s side held on to make it three straight wins in all competitions.
After an uneventful start, the Saddlers took the lead with the game’s first meaningful opportunity on 23 minutes.
Erhun Oztumer slipped in Bakayoko with an inch-perfect through ball and the young forward confidently drilled through Salop stopper Jayson Leutwiler for his first league goal.
The Saddlers pushed for a quick-fire second, Joe Edwards unleashing a speculative long-range drive which Leutwiler couldn’t hold, but Oztumer’s follow-up was blocked.
Shrewsbury equalised on the half-hour mark, when ex-Saddler Lancashire, who had only just come on for the injured Adam El-Abd, looped a header over Neil Etheridge from Ian Black’s deep free-kick.
Walsall looked to restore their advantage, with James O’Connor volleying over after Jason McCarthy’s dangerous cross wasn’t dealt with.
The home side were doing most of the pressing and they restored their advantage three minutes before the break.
Franck Moussa played in Joe Edwards, who was denied by Leutwiler from a tight angle, but the ball fell for Morris to scrappily turn the ball home on the half-volley from close range.
Town almost pegged Walsall back immediately, but Etheridge was on hand to produce a fantastic one-handed save to get down quickly and keep out George Waring’s inventive back-heel.
Half-time: Walsall 2-1 Shrewsbury
Shrewsbury, who had goalkeeping coach Danny Coyne in caretaker charge, went close again on 47 minutes as the unmarked Lancashire headed a fraction wide from Black’s set-piece.
Walsall had a glorious chance to make it 3-1 on 56 minutes, but Oztumer fired inches wide when one-on-one with Leutwiler.
And the Saddlers were made to pay for that miss moments later as Shrewsbury equalised again, Brown converting from a matter of yards after Black’s corner was missed by Etheridge.
The visitors were reduced to ten men on 65 minutes, when Ryan McGiven – another former Walsall defender – was sent off for reacting angrily to a challenge from Bakayoko.
Oztumer then tested Leutwiler with a left-footed effort from distance as Walsall looked to make their numerical supremacy tell.
Shrewsbury remained a threat, though, with Waring heading straight at Etheridge from Jim O’Brien’s accurate cross and Antoni Sarcevic having a goalbound strike blocked by Scott Laird.
Walsall laid siege on the visitors’ goal in the closing stages.
Leutwiler made an excellent stop to deny Franck Moussa with his legs, and the same man then dragged an effort wide from eight yards.
With time running out, the Saddlers nicked a dramatic winning goal as Oztumer’s in-swinging corner sneaked past Leutwiler at his near post – sparking wild scenes of celebration.
Walsall were then reduced to ten players themselves, as Bakayoko was shown a second yellow card for over-celebrating, but the hosts held on to make it three straight wins in all competitions!
Full-time: Walsall 3-2 Shrewsbury
Team: Etheridge, McCarthy, O’Connor, Toner, Laird, Chambers, Edwards, Morris (Ginnelly 77’), Moussa (Preston 90’), Oztumer (Makris 90’), Bakayoko.
Subs not used: MacGillivray, Dobson, Osbourne, Kinsella.
Attendance: 4,759 (572 Shrewsbury supporters).