Stanley lost their first League One away game of the season after playing with ten-men for 74 minutes following the dismissal of keeper Connor Ripley.
Ripley was shown a red card after coming out for a loose ball and trying to kick it, colliding with Shrewsbury's Lee Angol on the edge of the box.
Stanley battled hard with ten men but Alex Gilliead eventually broke their resistance on 62 minutes - his first goal of the season - to clinch three points for the Shrews.
The Reds, looking for a fourth straight win, started well and Jordan Clark, up against his former club, had two good chances in the opening 10 minutes but both strikes were narrowly off-target.
Then came the controversial game-changer with Ripley's red - referee Andy Woolmer consulted his assistant at length before making the decision.
It meant midfielder Sam Finley was sacrificed as Jonny Maxted took over in goal but he didn't have to act immediately as former Red Shaun Whalley hit the free kick against the wall and Angol volleyed the rebound over.
The ten men still looked dangerous with winger Clark running the length of the pitch before firing just wide while, at the other end, Angol had an effort blocked while Josh Emmanuel's powerful strike didn't trouble Maxted.
Sean McConville couldn't find the target from a Clark dribble and cross as the ten-men held firm in the first half.
The Shrews started the second half strongly with Maxted called into action to deny Ollie Norburn early on but Stanley were limiting the home side to long range efforts.
However the Reds were always a threat with Dan Barlaser trying his luck from distance - and he wasn't far off.
The Stanley goal was finally broken on 62 minutes when Whalley fed Gilliead at the far post and he headed home.
The Shrews almost doubled their lead a minute later but Angol, sliding in, just couldn't connect with Josh Laurent's cross.
Doncaster goal hero Offrande Zanzala came on on 66 minutes as the Reds looked to get back in it but Shrews continued to be a threat with former Stanley defender Omar Beckles heading just over.
However Stanley continued to show a never-say-die attitude with Barlaser firing wide while a McConville effort was deflected off-target.
While John Coleman's side pressed, the Shrews looked for a second on the break with Fejiri Okenabirhie firing over the bar with eight minutes left.
And Maxted prevented a last minute second by pushing away a Beckles shot as the ten-men came away from New Meadow with nothing.