Match ends, Rochdale 2, Doncaster Rovers 1.
Rochdale scored two goals in stoppage time to earn victory against Doncaster Rovers in League One.
Dale looked destined for defeat as the game entered time added on until Mark Kitching fired a stunning equaliser.
And within a minute, striker Steven Davies made up for an earlier penalty miss with a dramatic winner.
The home side were handed a great chance to open the scoring when they were awarded a penalty in the eighth minute after Matt Done was brought down by Joe Wright.
But Davies failed to capitalise, firing too close to Ian Lawlor who comfortably saved.
Rovers edged ahead in the 74th minute when Andy Williams, with his back to goal, flicked the ball wide of Moore, his effort hitting the foot of the post and rebounding kindly for Marquis to slot home.
Dale went close late on when Davies' header was cleared off the line and Lawlor then pulled off a superb save to keep out Rafferty's drive.
But there was nothing he could do to keep out Kitching's dipping effort, which was quickly followed by Davies' close range finish.
Match report supplied by the Press Association.
- 4McNultyBooked at 87mins
- 39BunneyBooked at 45mins
- 12WilliamsBooked at 84mins
- 14RathboneSubstituted forKitchingat 73'minutes
- 16DoneSubstituted forSlewat 83'minutes
- 16HoughtonSubstituted forKongoloat 72'minutes
- 27Ben KhemisSubstituted forBlairat 34'minutes
- 11WilliamsBooked at 40minsSubstituted forMayat 85'minutes
- Ben Toner
- Shots on Target
Second Half ends, Rochdale 2, Doncaster Rovers 1.
Goal! Rochdale 2, Doncaster Rovers 1. Steve Davies (Rochdale) left footed shot from the right side of the six yard box to the bottom right corner following a corner.
Corner, Rochdale. Conceded by Tyler Garratt.
Goal! Rochdale 1, Doncaster Rovers 1. Mark Kitching (Rochdale) left footed shot from outside the box to the top left corner. Assisted by Steve Davies.
Andrew Cannon (Rochdale) wins a free kick on the right wing.
Foul by Rodney Kongolo (Doncaster Rovers).
Hand ball by Mark Kitching (Rochdale).
Jimmy McNulty (Rochdale) is shown the yellow card for a bad foul.
Foul by Jimmy McNulty (Rochdale).
Alfie May (Doncaster Rovers) wins a free kick in the defensive half.
Andrew Cannon (Rochdale) wins a free kick in the defensive half.
Foul by John Marquis (Doncaster Rovers).
Substitution, Doncaster Rovers. Alfie May replaces Andy Williams.
Foul by Jordan Williams (Rochdale).
Benjamin Whiteman (Doncaster Rovers) wins a free kick in the attacking half.
Attempt saved. Mark Kitching (Rochdale) right footed shot from the centre of the box is saved in the centre of the goal.
Attempt saved. Steve Davies (Rochdale) right footed shot from the centre of the box is saved in the centre of the goal.
Substitution, Rochdale. Jordan Slew replaces Matt Done.
Corner, Rochdale. Conceded by Niall Mason.