Barnsley 2 - 2 Doncaster
Kieran Trippier's free-kick earned a point for Barnsley and prevented South Yorkshire rivals Doncaster from securing their Championship status.
Two goals from Jason Euell, either side of a Stephen Foster leveller, had put Rovers on course for a deserved win.
This would have taken them eight points clear of the bottom three with two games left to play.
But Trippier struck late on, meaning Doncaster still require one more point to ensure their safety.
In truth, it would require an unlikely set of results for Doncaster to be relegated, with Sheffield United and Scunthorpe both needing to considerably improve their goal difference in winning their last two games, while also hoping Rovers lose both their remaining fixtures.
Barnsley's safety was sealed on Saturday but their manager, Mark Robins, must have some concerns about their end-of-season form, as they have managed only one win in their last eight games.
There were plenty of chances in the first half, with Tykes keeper Luke Steele twice tested, firstly from a James Hayter header and then from a Wayne Thomas shot.
At the other end, Jacob Mellis dragged a shot just wide from the edge of the area, before Nathan Doyle brought a smart save out of Gary Woods and, from the resulting corner, Matt Hill sliced wide when unmarked at the back post.
Rovers took the lead in the 59th minute when Simon Gillett fired a ball across goal and Euell was handily placed to sidefoot the ball home.
They almost doubled their lead when Thomas clipped the post with a header, but instead were pegged back when Foster converted from a Jacob Butterfield corner.
The home side then gifted their opponents a second goal when Steele spilled a tame John Oster cross straight to Euell and the striker rolled in a simple finish.
This appeared to be enough for the visitors until Ryan Mason's foul on Doyle gave Trippier the chance to curl home a stunning free-kick from 25 yards to earn his side a point.
Live Text Commentary
Full Time The referee ends the match.90:00 +1:43
Effort from just outside the area by James Hayter goes over the bar.90:00 +0:42
Kieran Trippier challenges James Hayter unfairly and gives away a free kick. Free kick crossed by John Oster, Stephen Foster makes a clearance.89:31
The offside flag is raised against Steve Brooker. Matthew Hill takes the direct free kick.88:23
Mark Wilson concedes a free kick for a foul on Bobby Hassell. Free kick crossed by Nathan Doyle, clearance by James O'Connor.87:45 Substitution
Substitution Ryan Mason leaves the field to be replaced by Mark Wilson.87:45 Substitution
Substitution Steve Brooker replaces Jason Euell.87:29 Booking
Booking Booking for Kieran Trippier.86:49 Goal scored
Goal! - Kieran Trippier - Barnsley 2 - 2 Doncaster Kieran Trippier scores a goal direct from the free kick from outside the penalty box to the top right corner of the goal. Barnsley 2-2 Doncaster.85:41
Free kick awarded for an unfair challenge on Nathan Doyle by Ryan Mason.83:08
Free kick awarded for an unfair challenge on Andy Gray by James O'Connor. Bobby Hassell crosses the ball, Headed effort from inside the penalty area by Jason Shackell misses to the right of the target.82:06 Booking
Booking Jacob Butterfield goes into the book.78:52
Free kick taken by Kieran Trippier.78:52 Substitution
Substitution Danny Rose replaces Danny Haynes.78:52
Wayne Thomas concedes a free kick for a foul on Andy Gray.77:57
The referee blows for offside against Jason Euell. Free kick taken by Luke Steele.77:08
Shot from just outside the box by Danny Haynes goes over the target.76:29 Booking
Booking James O'Connor receives a caution.75:55
James Coppinger takes a inswinging corner from the left by-line to the near post, Kieran Trippier manages to make a clearance.75:33
Ryan Mason takes a shot. Save by Luke Steele.
Neil Sullivan takes the free kick.74:11 Substitution
Substitution Jordan Clark joins the action as a substitute, replacing Reuben Noble-Lazarus.74:11 Booking
Booking Caution for Danny Haynes.74:04
Foul by Danny Haynes on Sam Hird, free kick awarded.72:17 Goal scored
Goal! - Jason Euell - Barnsley 1 - 2 Doncaster Jason Euell scores a goal from close range to the bottom left corner of the goal. Barnsley 1-2 Doncaster.70:26
Ryan Mason takes a shot. Save by Luke Steele.68:58 Substitution
Substitution Neil Sullivan is brought on as a substitute for Gary Woods.68:12
Assist on the goal came from Jacob Butterfield.68:12 Goal scored
Goal! - Stephen Foster - Barnsley 1 - 1 Doncaster Stephen Foster grabs a goal from close in to the top right corner of the goal. Barnsley 1-1 Doncaster.67:46
Jacob Butterfield takes the inswinging corner,66:48
James Coppinger takes a outswinging corner to the near post, Jason Shackell manages to make a clearance.64:02
Outswinging corner taken by James Coppinger, clearance by Stephen Foster.63:23
Outswinging corner taken by James Coppinger, Wayne Thomas takes a shot. Blocked by Kieran Trippier.61:46
Free kick crossed right-footed by Kieran Trippier from right wing.61:46 Substitution
Substitution Jacob Mellis leaves the field to be replaced by Bobby Hassell.61:46
James Hayter gives away a free kick for an unfair challenge on Danny Haynes.58:20
Assist on the goal came from Simon Gillett.58:20 Goal scored
Goal! - Jason Euell - Barnsley 0 - 1 Doncaster Jason Euell scores a goal from inside the box to the bottom right corner of the goal. Barnsley 0-1 Doncaster.57:00
Unfair challenge on Ryan Mason by Reuben Noble-Lazarus results in a free kick. James Coppinger shoots direct from the free kick, Jason Shackell gets a block in.55:26
Wayne Thomas gives away a free kick for an unfair challenge on Stephen Foster. Luke Steele restarts play with the free kick.55:02
Reuben Noble-Lazarus is adjudged to have handled the ball. Sam Hird takes the direct free kick.53:52
James Coppinger takes a outswinging corner from the right by-line to the near post, Matthew Hill manages to make a clearance.53:43
The ball is sent over by Sam Hird, Jason Shackell makes a clearance.51:58
Matthew Hill fouled by Simon Gillett, the ref awards a free kick. A cross is delivered by Matthew Hill, Effort on goal by Stephen Foster from inside the penalty area goes harmlessly over the bar.49:55
Foul by Wayne Thomas on Andy Gray, free kick awarded. Free kick crossed right-footed by Kieran Trippier from right channel.48:30
Unfair challenge on Jason Shackell by Jason Euell results in a free kick. Jason Shackell takes the free kick.48:01
The offside flag is raised against Andy Gray. Direct free kick taken by Gary Woods.45:53
Free kick awarded for a foul by James Coppinger on Kieran Trippier. Direct free kick taken by Luke Steele.45:17
Corner taken by James Coppinger from the left by-line, clearance by Andy Gray.45:01
The game restarts for the second half.45:00 +1:32 Half time
Half Time The match has reached half-time.45:00 +1:10
Jacob Butterfield decides to take the corner short.45:00 +1:00
Jacob Butterfield delivers the ball, clearance by James O'Connor.43:57
Corner taken by Jacob Butterfield played to the near post, clearance by James Coppinger.43:40
Reuben Noble-Lazarus takes a shot. Blocked by John Oster.43:03
James Hayter concedes a free kick for a foul on Kieran Trippier. Free kick crossed left-footed by Jacob Butterfield, clearance by James Hayter.42:01
Shot from outside the area by Nathan Doyle misses to the left of the target.39:34
Simon Gillett concedes a free kick for a foul on Danny Haynes. The free kick is swung in right-footed by Kieran Trippier, Simon Gillett makes a clearance.38:54
Corner taken by James Coppinger from the right by-line, save by Luke Steele.38:28
Corner from the right by-line taken by James Coppinger, Jason Shackell makes a clearance.37:56
Corner taken by James Coppinger from the right by-line, Wayne Thomas takes a shot. Save by Luke Steele.37:19
Corner taken right-footed by James Coppinger to the near post, Kieran Trippier makes a clearance.36:52
Corner taken by James Coppinger, Jason Shackell makes a clearance.36:03
Foul by Andy Gray on Wayne Thomas, free kick awarded. George Friend takes the direct free kick.34:07
Unfair challenge on Ryan Mason by Nathan Doyle results in a free kick. The free kick is swung in right-footed by John Oster, save made by Luke Steele.33:13
Kieran Trippier delivers the ball, Matthew Hill produces a volleyed left-footed shot from deep inside the penalty area which goes wide of the left-hand post.32:47
Inswinging corner taken by Jacob Butterfield.32:32
Nathan Doyle takes a shot. Gary Woods makes a save.30:29
Andy Gray challenges Simon Gillett unfairly and gives away a free kick. George Friend restarts play with the free kick.29:51
The ball is swung over by James Coppinger, Headed effort from inside the area by Jason Euell misses to the left of the target.28:44
Jacob Butterfield delivers the ball, Danny Haynes produces a volleyed right-footed shot from deep inside the penalty box which goes wide of the left-hand upright.26:18
Nathan Doyle concedes a free kick for a foul on Ryan Mason. John Oster has a direct shot on goal from the free kick.25:02
Jacob Mellis gives away a free kick for an unfair challenge on James Coppinger. Direct free kick taken by Gary Woods.21:25
Jason Euell is ruled offside. Luke Steele takes the free kick.20:07
Effort on goal by Reuben Noble-Lazarus from outside the area goes harmlessly over the bar.17:56
Simon Gillett challenges Jacob Butterfield unfairly and gives away a free kick. Nathan Doyle restarts play with the free kick.14:42
Jacob Mellis produces a right-footed shot from the edge of the area and misses to the left of the goal.13:58
Shot from just outside the box by James Hayter misses to the left of the goal.12:14
Outswinging corner taken right-footed by James Coppinger from the right by-line, Shot from inside the area by James Hayter clears the bar.6:14
James Coppinger takes the inswinging corner, James Hayter takes a shot. Save by Luke Steele.5:19
Free kick awarded for a foul by Nathan Doyle on James Coppinger. Free kick taken by Gary Woods.5:12
The ball is swung over by Jacob Butterfield, save made by Gary Woods.1:26
Stephen Foster is flagged offside by the assistant referee. Gary Woods takes the direct free kick.0:55
Andy Gray fouled by George Friend, the ref awards a free kick. The free kick is delivered right-footed by Kieran Trippier from right wing.0:00
The referee starts the match.
Live data and text provided by our data suppliers