Chris Brown grabbed an 84th-minute winner for Doncaster to hand them a 2-1 home win over battling Bury.
It had looked as though Bury's 10 men might hold on after having skipper Steven Schumacher sent off in the 68th minute, that was until Brown ended their resistance.
Bury opened the scoring in a tremendously entertaining match when full-back Joe Skarz forced the ball home at the near post following a fifth minute corner.
Brown headed inches over the top while Kyle Bennett had a goalbound effort deflected for a corner before Rovers deservedly equalised in the 36th minute.
A splendid passing move led to Brown laying the ball off for Bennett to hold off his marker and score in fine style from close range.
Mark Cullen wasted a good chance to restore Bury's lead just before the interval and had cause for regret as Rovers dominated the second half.
Schumacher received his marching orders for a second bookable offence after tugging back Brown, and Rovers' persistence was finally rewarded when Brown beat the offside trap to fire home after David Syers had set up the opening.