Doncaster Rovers scored twice in added time to grab victory when defeat seemed certain at the Keepmoat Stadium.
Callum Saunders – son of former Rovers boss Dean Saunders – must have thought he had won all three points for Crewe Alexandra when he put the visitors 2-1 up in the 90th minute.
But substitute Cameron Stewart bent in a superb free-kick and Andy Williams won the match with a cool finish deep into stoppage time.
The visitors had gone ahead against the run of play in the first half through Marcus Haber before Conor Grant scored his third goal in two games to equalise.
Victory extended Rovers’ unbeaten run to four games.
Rovers exuded confidence and control during the first quarter but were unable to make it count.
Grant then hit a rasping drive from range just over the bar.
Some fine work on the ball from Colclough was the precursor to a sweeping Crewe move that saw Saunders score his first senior goal, tapping home Oliver Turton’s cross, seemingly to steal the points.
However, a Rovers side that also came from behind to beat Cambridge United in the FA Cup the previous weekend had other ideas.
Firstly Stewart curled home a delightful free kick from 25 yards to level matters. Then with the last attack of the game, Aaron Taylor-Sinclair tossed the ball forward and it eventually fell for Williams, who curled it past Garratt to spark scenes of wild celebration at the Keepmoat.
Doncaster Rovers: Stuckmann, Lund (Stewart 71), Alcock, Butler, Taylor-Sinclair, Evina, Grant, Coppinger, Middleton, Tyson, Williams. Unused substitutes: Marosi, McCullough, Keegan, Whitehouse, Chaplow, Main.
Crewe Alexandra: Garratt, Turton, Ajayi, Nugent, Guthrie, Jones, Bingham, Colclough, King (Inman 70), Haber, Lowe (Saunders 85). Unused substitutes: Cooper, Fox, Baillie, Ng, Nizic.
Referee: Darren Drysdale (Lincolnshire).