Match ends, Doncaster Rovers 3, Barnet 2.
Doncaster snatched a stoppage-time winner after a rally by struggling Barnet.
The visitors looked to have snatched a late point after coming back from two goals down.
But Andy Williams clipped home at the death to win it, a result which kept Doncaster second in League Two.
Goals from James Coppinger and Matty Blair had given Doncaster a deservedly comfortable lead at the break.
But dogged and industrious Barnet rallied well, pulling a goal back through Bira Dembele before substitute Luke Gambin glanced home four minutes from time.
Such a dramatic finish could hardly have been predicted after a first half which Doncaster thoroughly dominated.
Coppinger left Barnet keeper Josh Vickers standing with a superb volley on 15 minutes before Blair drilled a low effort into the far corner on 32 minutes to make the dominance count.
Barnet rallied superbly after the break and pulled a goal back when Dembele flicked home Sam Muggleton's long throw.
And with four minutes to go, Gambin hooked in a low centre.
But the drama was not over and Williams grabbed the winner for Doncaster when he darted to the near post and flicked in Blair's brilliant cross.
Reports supplied by the Press Association.
- 24MasonSubstituted forBaudryat 70'minutes
- 16HoughtonSubstituted forMiddletonat 85'minutes
- 10RoweBooked at 81mins
- 26CoppingerSubstituted forCalderat 74'minutes
- 11WilliamsBooked at 90mins
- 13Campbell-RyceSubstituted forGambinat 74'minutes
- 14TogwellSubstituted forNichollsat 78'minutes
- 19Akpa-AkproSubstituted forAmaluzorat 58'minutes
- Trevor Kettle
- Shots on Target
Second Half ends, Doncaster Rovers 3, Barnet 2.
Goal! Doncaster Rovers 3, Barnet 2. Andy Williams (Doncaster Rovers) right footed shot from the right side of the six yard box to the bottom right corner. Assisted by Matty Blair.
Andy Williams (Doncaster Rovers) is shown the yellow card for a bad foul.
Andy Williams (Doncaster Rovers) has gone down, but that's a dive.
Tommy Rowe (Doncaster Rovers) wins a free kick in the attacking half.
Foul by John Akinde (Barnet).
Goal! Doncaster Rovers 2, Barnet 2. Luke Gambin (Barnet) left footed shot from the centre of the box to the bottom right corner. Assisted by John Akinde.
Substitution, Doncaster Rovers. Harry Middleton replaces Jordan Houghton.
Liam Mandeville (Doncaster Rovers) wins a free kick in the defensive half.
Foul by Bira Dembélé (Barnet).
Attempt saved. Andy Williams (Doncaster Rovers) left footed shot from the centre of the box is saved in the centre of the goal.
Cedric Evina (Doncaster Rovers) wins a free kick in the defensive half.
Foul by Sam Muggleton (Barnet).
Tommy Rowe (Doncaster Rovers) is shown the yellow card.
Corner, Doncaster Rovers. Conceded by Bira Dembélé.
Substitution, Barnet. Alex Nicholls replaces Sam Togwell.
Foul by Riccardo Calder (Doncaster Rovers).
Mauro Vilhete (Barnet) wins a free kick in the defensive half.
Foul by Tommy Rowe (Doncaster Rovers).