Michy Batshuayi scored deep into injury time as Borussia Dortmund beat Eintracht Frankfurt 3-2 at the Westfalonstadion to return to third place in the Bundesliga on Sunday.
The visitors had seemed set for a share of the points after Danny Blum's injury-time equaliser, but there was still time for Batshuayi -- who was dropped from the starting lineup -- to score his second of the game.
Christian Pulisic, restored to Dortmund's starting lineup after being one of the few players to impress in the Europa League defeat at home to Salzburg, displayed his intent from the start, whipping in a sharp cross that Andre Schurrle headed wide.
Two minutes later, the United States midfielder did it again, crossing for Marco Reus at the far post only for Frankfurt defender Marco Russ to turn it into his own net in an attempt to clear.
Dortmund dominated the rest of the first half but Frankfurt showed a different face in the second period.
Kevin-Prince Boateng drew a smart save from Dortmund's Roman Burki after the break, and the visitors maintained the pressure.
Dortmund coach Peter Stoger brought on Batshuayi, who had played every league game for Dortmund since his loan switch from Chelsea, for the last half hour.
But it was another substitute, Luka Jovic, who rewarded Frankfurt with the equaliser 15 minutes from the end as he headed in Jonathan de Guzman's free kick.
Batshuayi, not to be upstaged, scored two minutes later to restore the home side's lead after being played through by Pulisic.
Reus drew a good save from Lukas Hradecky before Frankfurt thought they had salvaged a point through Blum -- but Batshuayi had the final say, stopping the ball with his right foot and turning to smash it in with his left.