All the action came after half-time following a dreadfully dull first-half.
Drewe Broughton’s 30th minute booking for a foul on Grant Holt was followed by another yellow card for a late challenge on Kelvin Langmead after 58 minutes.
Neither side created an opening until the 69th minute when Holt sent Kevin McIntyre clear but he was brought down by keeper David Stockdale – who was also dismissed. Holt beat substitute keeper Steven Cann from the spot.
Shrewsbury, who have scored in every home game this season, struggled to add a second against nine men. Ben Davies went close with a 30-yard free-kick but then missed a one-on-one a minute from the end.