Will Grigg scored his fifth goal in two matches as Walsall beat Shrewsbury to step up their League One play-off bid.
Shrewsbury trailed only 1-0 at the break to Grigg's 30th-minute penalty before being rocked by two strikes in seven early second-half minutes.
- Walsall's win was revenge for a luckless 1-0 defeat at the Meadow earlier in the season when they were kept out only by a stunning display from home keeper Chris Weale
Craig Westcarr turned in from close range after Town keeper Chris Weale failed to clear James Chambers' cross, before top scorer Grigg hit a second.
But Town could only respond with Dave McAllister's late close-range header.
Midfielder McAllister, only allowed to play after having his midweek red card against Doncaster overturned on appeal, turned in on-loan West Bromwich Albion defender Cameron Gayle's cross.
Having also fired home from the spot to launch his first senior hat-trick in Tuesday night's 3-0 win at Carlisle, Grigg again put the Saddlers in front with a penalty after Febian Brandy had been brought down by a combined tackle from Joe Jacobson and Rob Edwards.
The Northern Ireland international then burst into the box to hammer his second on 54 minutes in front of Bescot's biggest crowd of the season.
Grigg, who now has 16 goals for the season, also had a hand in Westcarr's first strike for the Saddlers (on his 14th appearance), getting a touch to Chambers' cross two minutes into the second half.
Shrewsbury's second straight defeat leaves them just four points clear of trouble, while Walsall are within five points of the play-off zone after extending their unbeaten run to six matches.
VIEW FROM THE DRESSING ROOM
Shrewsbury Town manager Graham Turner told BBC Radio Shropshire:
"It's our worst performance of the season but you have to hand it to Walsall. They are a very sharp side and they don't give it away like we did.
"We knew what they were about and it was a soft penalty to give away - we paid the price to give them the lead.
"We hoped to put them under a bit of pressure but even the goal we got back didn't do that.
"As a side we have to think why we were so poor. We have to get over this to begin to move forward and work out why we had so many poor performances."
Sorry, we were unable to load match stats, please try again.