The biggest Bescot crowd of the season rose to applaud Northern Ireland international Grigg, who notched a hat-trick at Carlisle on Tuesday night.
He put the Saddlers in front from the penalty spot in the 30th minute after Febian Brandy had been brought down by a combined tackle from Joe Jacobson and Rob Edwards.
And he then burst into the box to hammer home his 16th goal of the season after 54 minutes.
Between his brace Grigg got a touch to James Chambers' cross two minutes into the second half, leaving Craig Westcarr to bag his first goal for the club.
Shrewsbury, driven forward by skipper Matt Richards, never stopped trying and pulled one back in the 77th minute when Luke Summerfield found Cameron Gayle, whose cross was perfect for Dave McAllister to head in.