Eintracht Frankfurt 2 Borussia Dortmund 1: Substitute Seferovic stuns Tuchel's men
Substitute Haris Seferovic scored a late winner as Eintracht Frankfurt stunned Borussia Dortmund with a 2-1 home Bundesliga victory that takes them up to third in the table.
After a quiet first half, Szabolcs Huszti scored just 20 seconds into the second period to rock the visitors.
Thomas Tuchel made a triple change in a bid to turn the game around - including giving Marco Reus his first league appearance since May – and Pierre-Emerick Aubameyang headed in his 13th league goal of the season to seemingly salvage a point.
But Frankfurt's Seferovic amazingly restored his side's lead just 65 seconds later and that goal proved decisive after Ousmane Dembele struck the crossbar in stoppage-time.
The visitors had won their previous four matches and came into the game on a high after beating Bayern Munich in Der Klassiker and hitting eight goals past Legia Warsaw in the Champions League.
But they now sit nine points behind shock leaders RB Leipzig and slip down to sixth in the table, with their away form proving particularly problematic – they only have two victories from six games on the road.
Frankfurt, meanwhile, have only conceded nine league goals in 12 matches and surge above Dortmund after extending their unbeaten home record.
Dortmund made the better start and Andre Schurrle forced an early save from Lukas Hradecky after being slipped through by Aubameyang, who then tested the home goalkeeper with a long-range free-kick.
Aubameyang threatened again, almost scoring a spectacular opener when he latched on to Adrian Ramos' flick and brilliantly beat defender David Abraham with some individual skill before firing narrowly wide.
Roman Weidenfeller came in as one of only two Dortmund changes from their Klassiker victory, but he was largely untroubled in the opening period as the hosts favoured solidity over adventure, with Szabolcs Huszti having a shot saved and Alexander Meier flicking an effort wide in their only notable moments.
But Frankfurt moved into an astonishing lead at the start of the second half after a long ball from kick-off caught the Dortmund defence cold.
Timothy Chandler raced clear down the right and squared for Huszti at the edge of the area, with the midfielder powering a strike into the roof of the net for his second league goal of the campaign.
Mijat Gacinovic curled an effort wide for the hosts, while Ramos headed just off-target for Dortmund prior to Tuchel making a triple change before the hour mark with Dembele, Reus and Sebastian Rode brought on.
Aubameyang showed excellent strength against Abraham before being denied by Hradecky from close-range, but chances were proving hard to come by and Frankfurt could have sealed victory on the break when Chandler set up to Seferovic to fire wide.
An equaliser did arrive with 13 minutes remaining, Aubameyang heading into the bottom corner after great work from Dembele down the right to create the opportunity.
But Frankfurt made an astonishing swift response, with Weidenfeller unable to keep out Seferovic's left-footed strike after Huszti had set him up.
There was almost a final twist in the tale but Demble's brilliant last-gasp effort rebounded to safety off the crossbar before Aubameyang had a strong penalty claim turned down moments later, infuriating Dortmund's players as the hosts celebrated a famous triumph.