Will Grigg’s derby double inspired Walsall to revenge over Shrewsbury as the Saddlers maintained their play-off charge.
The red-hot striker made it five goals in two games – after his first career hat-trick at Carlisle on Tuesday – and now has 16 for the season.
Craig Westcarr also scored his first Saddlers goal before David McAllister headed in a consolation 13 minutes from time.
But it failed to stop Walsall claiming their 10th win in 14 games to move into eighth and within five points of the League One play-offs.
Victory also gained revenge for the 1-0 defeat at Greenhous Meadow in October.
The Saddlers were unchanged from Tuesday’s dominant 3-0 win at Carlisle and they immediately took control.
Andy Taylor’s deflected free kick was saved at the second attempt by Chris Weale – the Saddlers’ scourge in the first game – as Walsall controlled the game.
But, despite forcing several early corners, the Saddlers couldn’t conjure any clear chances while Marvin Morgan failed to get a decent connection on Matt Richards’ teasing cross.
And any early momentum died down until the hosts sparked to life and took the lead on 29 minutes.
Brandy burst at the Shrewsbury defence 40-yards out and was allowed to continue in the area – until he was taken down by a combination of Rob Edwards and Darren Jones.
Grigg smashed the penalty – his second spot-kick in four days – to Weale’s left to underline the Saddlers’ superiority.
And the striker could have had a second minutes later when he broke clear and rounded Weale, only for Edwards to make a sprawling clearance off the line.
Shrewsbury were rocking and Grigg just failed to break clear after Jamie Paterson’s clever throughball.
The hosts comfortably held off the powder-puff visitors and when Shrewsbury did threaten Tom Eaves’ shot was deflected well over.
And 70 seconds after the re-start the Saddlers killed the Shrews off with Westcarr’s first for the club.
James Chambers wriggled free down the right and when Weale turned his cross into the air Westcarr smashed in from close range after Grigg’s shot was blocked.
Shrewsbury responded and Aaron McCarey brilliantly turned Paul Parry’s drive wide – before Walsall clinched the game on 54 minutes.
This time it was Adam Chambers with the leg work and when the ball broke for Grigg he sidestepped Edwards to fire in from 10-yards.
Walsall were in cruise control and Shrewsbury wilted with Eaves’ shot flying well wide their only threat.
With Brandy and Paterson constant threats Shrewsbury were on the defensive – only to make things interesting with 14 minutes remaining.
Cameron Gayle beat Andy Taylor on the right and crossed for McAllister to head in from point blank range.
Morgan then had a goal disallowed for offside six minutes from time but the Saddlers held firm to take the points.