Doncaster Rovers 1 Peterborough United 2: Stoppage time winner sends Rovers into bottom four
Ricardo Almeida Santos's stoppage time winner for Peterborough United saw Doncaster Rovers drop into the bottom four.
Thorsten Stuckmann flapped at a high cross and Santos was left with a simple tap-in after Aaron Williams' header came back off the post.
Defeat was harsh on a Rovers side who raised their game considerably and had gone ahead in the fifth minute through returning skipper James Coppinger - ending their first goal hoodoo.
The Posh responded well to going behind and levelled before the break through Williams from close range.
Doncaster looked the more likelier side to grab a winner after the break as they controlled the game for the large part, leaving Peterborough to predominantly play on the counter attack.
But Santos' dramatic late goal condemned the home side to a ninth defeat in ten games - and left virtually the entire Rovers team on their haunches when the final whistle blew.
There was a very clear back-to-basics approach from Darren Ferguson as Rovers reverted to an orthodox 4-4-2 system. An entirely different midfield to the one that started at Bradford City included Luke McCullough in a holding role, while Aaron Taylor-Sinclair switched to right back.
Rovers hoped to carry on from where they left off at Valley Parade and they did just that by going ahead with their first shot on target.
A determined Andy Williams hustled Santos at the by-line and crossed for Coppinger to convert from close range. It was the first time Rovers had scored the first goal in a game at the Keepmoat Stadium since November 24 and ended a run of nine consecutive games in which they have gone behind.
The visitors, not shy of getting bodies forward, responded well to their credit and went close through Michael Bostwick, Harry Beautyman and Gabriel Zakuani.
A lively little spell for the hosts on the half hour saw Cedric Evina and Coppinger fire efforts just wide but Posh deservedly drew level just before the interval.
Sign up to our daily newsletter
The i newsletter cut through the noise
Marcus Maddison, the game's stand-out player, sent over a delicious cross from the right and Williams did the rest from close range.
New loan signing Tommy Rowe replaced Harry Middleton at the break for Rovers before Peterborough made their first change on the hour mark when Zakuani was subbed off before he was sent off, following an awful challenge on Nathan Tyson which resulted in a yellow card.
Doncaster had the bit between their teeth and went close twice in a matter of moments when Cameron Stewart's header was kept out at the near post by Ben Alnwick, before Williams headed McCullough's cross just over.
The game lacked nothing at all in endeavour, as the visitors' no-nonsense approach riled Rovers' players and alike, but the next clear opening did not arrive until the 82nd minute when Tyson got in on goal but was denied from a tight angle by Alnwick.
The contest was heading for a draw before Rovers, and Stuckmann in particular, completely failed to deal with a high cross from the right and Santos was left with the simplest of finishes.
Rovers: Stuckmann, Taylor-Sinclair, Alcock, Butler, Evina, Coppinger, McCullough, Middleton (Rowe 46), Stewart (Calder 90), Williams, Tyson. Subs not used: Jones, MacKenzie, Chaplow, Keegan, Mandeville.
Peterborough: Alnwick, Santos, Zakuani (Fox 60), Bostwick, Smith, Forrester, Oztumer (Samuelsen 71), Beautyman, Taylor (Coulthirst 64), Maddison, Williams. Subs not used: Tyler, Gillett, Nichols, Angol, Samuelsen.
Referee: Sebastien Stockbridge (County Durham)