Former West Brom striker Romaine Sawyers notched the third in the 73rd minute from a Westcarr pass as the Saddlers eased through.
Walsall dominated the first half and could have scored in the 14th minute when Shrewsbury centre-back David Winfield allowed the ball to bounce over his head and Westcarr saw his shot deflected wide by keeper Chris Weale.
But Westcarr made no mistake when the visitors slipped up at the back again on 29 minutes.
Andy Taylor broke down the left and whipped a low cross into the goalmouth, where Winfield and Weale got in a mix-up, allowing the ball to squirm free and leaving Westcarr to poke in his seventh goal of the season.
Westcarr's second came in the 59th minute when he drove in a rebound from Milan Lalkovic's shot, then Westcarr teed up Sawyers to blast home a 25-yarder.
As Shrewsbury hunted a consolation goal, Richard O'Donnell beat out a drive from substitute John Marsden.