Reading 3 (Le Fondre 63 pen, Pogrebnyak 87, 90)
Reading came from behind to win for the first time since the opening day of the season...and what a time to do it!
James Coppinger had put the hosts into a first half lead, steering home from Billy Sharp's low cross just before the half hour.
But Nigel Adkins' men needed a victory as desperately as Rovers and came out after half-time firing on all cylinders, drawing level when Adam Le Fondre won and converted a penalty on the hour.
With less than five minutes left on the clock and a point taking Reading's destiny out of their own hands on the final day, Pavel Pogrebnyak nodded home Jake Taylor's far post cross from a couple of yards out.
The Royals fans were delirious and, deep into injury time, Reading broke through Alex Pearce who fed Pogrebnyak for his second, driven low inside the near post to make it 3-1!
It was a result that took the Royals into fifth place, and Reading know that victory on the final day will secure a play-off place without question. It's in our hands.
Doncaster: Johnstone, Quinn, Furman (Wellens 69), Tamas (McCombe 89), Meite, Keegan (c), Cotterill, Stevens, Coppinger, Brown, Sharp (Robinson 85).
Subs: Maxted, McCulloch, De Val, Peterson.
Reading: McCarthy, Gunter, Obita, Morrison, Pearce, Akpan (J Taylor 76), Leigertwood, McAnuff (c), McCleary (Hector 90), Le Fondre (Gorkss 90), Pogrebnyak.
Subs: Federici, Cummings, Blackman, Ugwu.
Referee: Mr A Taylor
Attendance: 10,212 (1027 away)
Seven minutes in and referee Anthony Taylor had a decision to make when Jordan Obita's cross was only cleared as far as Garath McCleary, who was felled by a backtracking defender inside the area. No penalty was awarded and Rovers calmly cleared.
At the other end, Enda Stevens' corner was hacked clear of danger by Obita, the hosts starting the game with plenty of intent, looking to seal safety from relegation this afternoon.
McAnuff saw a shot charged down and Sam Johnstone calmly dealt with a floated Le Fondre cross in a high tempo start that coupled with a swirling wind made both defences look a little anxious without either side testing the goalkeepers in the opening 20 minutes.
But the deadlock was broken by a driving Sharp run down the left, a low cross fizzing all the way across the box to the feet of James Coppinger who guided the ball home to give Paul Dickov's men the lead.
McCarthy had to be alert to save from a Sharp header, the former Royals loanee getting on the end of a Coppinger cross and angling it towards the bottom right corner.
McCleary won a corner with five minutes of the first half remaining, beating two men before producing a lovely cross that a Doncaster head could only nod behind. The deep set piece found Pearce's head at the far post but he couldn't direct a header back across the six yard box.
Moments later McAnuff won a corner which was glanced behind at the near post by a red and white hooped shirt. The following corner was recycled by Garath McCleary twice but the Royals couldn't get a shot away to test Johnstone.
And Reading were finding some flow as the half drew to a close, McCleary cutting in from the right before being tripped by Stevens on the edge of the box. Obita's delivery smashed into the face of Sharp in the wall though.
Adam Le Fondre got in behind the Rovers defence down the right and cut the ball back into the box, but it split the two Reading bodies in the area and Coppinger could clear.
Coppinger at the other end was searching for a second and Pearce's outstretched leg was needed to prevent the Rovers wide man from troubling McCarthy from a tight angle.
On the hour, Le Fondre and McAnuff combined to break from their own half. The ball was fed into the feet of McCleary who scuttled into the area, but Rovers were back in numbers and crowded the winger out.
Minutes later, Reading were handed a route back into the match. Le Fondre got in behind the back four and was dragged to ground by Paul Quinn inside the box and referee Anthony Taylor pointed to the spot. Le Fondre stepped up and rifled low past Johnstone from 12 yards out to level matters.
Suddenly the game caught fire with both sides knowing a point wasn't what they were hoping for, Pogrebnyak crossing from the left but Johnstone claiming at his near post, then Cotterill scuttling into the area only for his low cross to be cleared by Morrison.
McAnuff then had a penalty appeal turned down, the skipper racing down the left, away from Cotterill before slipping inside the area under pressure from a covering Rovers defender.
And with quarter of an hour remaining, McCleary broke away down the right, passing it centrally to Le Fondre 15 yards out, but the striker's first time effort spooned over the bar after it seemingly took a nasty bobble.
Reading were finding another gear, looking for all three points, and McAnuff's cross to the far post was met by a thunderous McCleary volley that was well charged down by a diving Doncaster body.
With six minutes left, Pogrebnyak drew a foul on the left and McAnuff's deep delivery was headed back by Pearce at the far post, it dropped to the left foot of Leigertwood who whistled a volley just over the crossbar.
And the Royals' pressure finally told. The ball was slid into the path of substitute Jake Taylor down the right who dinked a delightful cross over the Rovers keeper to the far post, where Pogrebnyak was there to head home from a yard out.
Doncaster threw men forward, but that gave the Royals an opening at the other end, McAnuff crossing to the far post where McCleary chested it down for Pogrebnyak who hooked a difficult chance over the bar.
Five minutes of injury time were signalled and Reading prepared themselves for kitchen sink stuff from their drop-threatened hosts, Gorkss and Hector coming on to add aerial advantage to the armoury.
But relief reigned when the Royals added a third deep in injury time. Alex Pearce chesting the ball down and ghosting through the Rovers defence, sliding the ball into the feet of Pogrebnyak to his left who drove left footed between Johnstone and the near post to make it 3-1 and secure three invaluable points.
What a vital win!