Winger Kyle Bennett scored a stoppage-time winner at Shrewsbury to send Doncaster to the top of League One.
James Husband and Rob Jones both hit the woodwork for Rovers before the hosts had Dave McAllister sent off on 37 minutes for a reckless challenge.
Husband put Rovers ahead from James Coppinger's pass only for Tom Eaves to level for the hosts in the 90th minute.
But Shropshire-born Bennett grabbed all three points in injury-time when his shot deflected into the top corner.
A first win in six games for Brian Flynn's side took advantage of Sheffield United's draw with Leyton Orient to move top of the division.
VIEW FROM THE DRESSING ROOM
Shrewsbury manager Graham Turner told BBC Radio Shropshire:
"It's a scandalous sending-off. McAllister took off to poke the ball to our full back, and the Doncaster lad was nowhere near him. We'll be appealing against it.
"It's hard enough to play against Doncaster anyway, but even harder with 10 men.
"We worked really hard to get back into it, and then a goal out of nothing right at the end.
"It's a kick in the teeth when we showed so much character, especially in the last 15 minutes, and we've been really hard done by."
Doncaster boss Brian Flynn told BBC Radio Sheffield:
"Dramatic wasn't it? I felt after Saturday we were back on track and it proved tonight.
"I think our performance level was very, very good.
"A point away from home at this stage of the season is always good. Under the circumstances it wouldn't have been seen as that but it was nice to come away with a win."