Match ends, Swindon Town 0, Doncaster Rovers 1.
Swindon lost at home to Doncaster as two penalties decided the outcome.
Dean Furman was brought down by Swindon's Jordan Turnbull on 22 minutes and Theo Robinson neatly converted.
The Robins could have secured a draw 12 minutes from time but substitute Michael Smith had his penalty saved by Sam Johnstone after Reece Wabara had fouled Andy Williams.
Doncaster's sixth away victory of the season denies Swindon the chance to spend Christmas on top of League One.
Swindon Town manager Mark Cooper told BBC Wiltshire:
"When teams get everybody behind the ball the last thing you need is to give them any encouragement, and the referee has made an atrocious decision to give a penalty. It's a fantastic tackle from Jordan Turnbull.
"Second half we had enough opportunities to get something out of the game. We have a penalty, we have a clear one versus one. We need to score one of those.
"I was fine with the performance, sometimes it happens - it wasn't our day."
Doncaster Rovers manager Paul Dickov told BBC Radio Sheffield:
"They're probably the form team in the division, winning the last five games.
"I thought the boys were fantastic with the effort and the desire to get the result. And I thought tactically the players were fantastic.
"We changed the system slightly today. Defensively we had to be really sound but we believed we had the players to hit them on the break and I don't think many teams will come here and create the chances we created."
- 5StephensBooked at 90mins
- 8KasimSubstituted forBellat 81'minutes
- 20ObikaSubstituted forSmithat 62'minutes
- 29Rossi Branco
- 33JohnstoneBooked at 90mins
- 22WabaraBooked at 80mins
- 4FurmanBooked at 69mins
- 23BennettBooked at 27minsSubstituted forForresterat 49'minutes
- 19WellensBooked at 60mins
- 9RobinsonSubstituted forMainat 81'minutes
- Kevin Johnson
- Shots on Target
Second Half ends, Swindon Town 0, Doncaster Rovers 1.
Corner, Swindon Town. Conceded by Sam Johnstone.
Sam Johnstone (Doncaster Rovers) is shown the yellow card.
Corner, Swindon Town. Conceded by Reece Wabara.
Foul by Amari'i Bell (Swindon Town).
Dean Furman (Doncaster Rovers) wins a free kick on the left wing.
Jack Stephens (Swindon Town) is shown the yellow card.
Attempt missed. Harry Forrester (Doncaster Rovers) right footed shot from the left side of the box misses to the right.
Corner, Swindon Town. Conceded by Luke McCullough.
Attempt missed. Massimo Luongo (Swindon Town) left footed shot from outside the box misses to the left.
Corner, Swindon Town. Conceded by Paul Keegan.
Attempt missed. Ben Gladwin (Swindon Town) right footed shot from outside the box misses to the right.
Substitution, Swindon Town. Amari'i Bell replaces Yaser Kasim.
Substitution, Doncaster Rovers. Curtis Main replaces Theo Robinson.
Penalty saved! Michael Smith (Swindon Town) fails to capitalise on this great opportunity, right footed shot saved in the bottom right corner.
Reece Wabara (Doncaster Rovers) is shown the yellow card.
Penalty Swindon Town. Andy Williams draws a foul in the penalty area.
Penalty conceded by Reece Wabara (Doncaster Rovers) after a foul in the penalty area.
Nathan Byrne (Swindon Town) wins a free kick in the defensive half.