Match ends, Swindon Town 2, Millwall 2.
Michael Doughty earned a draw against Millwall in Swindon's first game since Luke Williams was named manager.
Midfielder Doughty stabbed home in the 94th minute after Millwall failed to clear a free-kick.
Lee Gregory burst through the defence to score his 22nd goal of the season and poor defending allowed Steve Morison to make it 2-0 to Millwall.
But Nicky Ajose's penalty, after Raphael Rossi Branco was fouled, set up Doughty's dramatic finish.
Millwall remain fifth and have gone five games without defeat, while Swindon - whose unbeaten run now stands at six league games - drop to 14th.
Williams signed a five-year contract in midweek after a successful spell as caretaker boss.
Millwall manager Neil Harris told BBC Radio London:
"Huge frustration, I'm certainly disappointed with the outcome. I thought we were so good for so long with and without the ball.
"I thought we were outstanding in the first half and I think in the second half even though Swindon had all the football. On the counterattack we were really good, we just lacked that little bit of quality and ruthlessness in the final third.
"If you don't see the game off - and it's a very dubious penalty against you, about the softest penalty I've seen for a long time - you're backs-to-the-wall a little bit."
- 29Rossi BrancoBooked at 71minsSubstituted forSendles-Whiteat 80'minutes
- 2ThompsonBooked at 15mins
- 18ThompsonBooked at 69mins
- 4RobertSubstituted forRodgersat 45'minutes
- 3Ormonde-OttewillSubstituted forBrophyat 64'minutes
- 27RomeoBooked at 85mins
- 4EdwardsSubstituted forUpsonat 85'minutes
- 25J WallaceBooked at 69mins
- 9GregorySubstituted forO'Brienat 78'minutes
- Kevin Wright
- Shots on Target
Second Half ends, Swindon Town 2, Millwall 2.
Goal! Swindon Town 2, Millwall 2. Michael Doughty (Swindon Town) header from the centre of the box to the bottom left corner. Assisted by Bradley Barry.
Jamie Sendles-White (Swindon Town) wins a free kick on the left wing.
Foul by Steve Morison (Millwall).
Attempt saved. Steve Morison (Millwall) right footed shot from outside the box is saved in the bottom right corner.
Attempt missed. Anton Rodgers (Swindon Town) right footed shot from outside the box is close, but misses to the left.
Foul by Jordan Turnbull (Swindon Town).
Jed Wallace (Millwall) wins a free kick in the attacking half.
Substitution, Millwall. Ed Upson replaces Carlos Edwards.
Mahlon Romeo (Millwall) is shown the yellow card for a bad foul.
Substitution, Swindon Town. Jamie Sendles-White replaces Raphael Rossi Branco.
Substitution, Millwall. Aiden O'Brien replaces Lee Gregory.
Corner, Swindon Town. Conceded by Byron Webster.
Corner, Swindon Town. Conceded by Carlos Edwards.
Attempt saved. Nicky Ajose (Swindon Town) right footed shot from outside the box is saved in the bottom right corner.
Corner, Swindon Town. Conceded by Jed Wallace.
Attempt missed. Michael Doughty (Swindon Town) header from the centre of the box is close, but misses to the left.
Raphael Rossi Branco (Swindon Town) is shown the yellow card for a bad foul.
Steve Morison (Millwall) wins a free kick in the defensive half.