Erling Haaland scored a stoppage-time goal as Borussia Dortmund bounced back to winning ways with a dramatic 3-2 triumph over Hoffenheim.
Hoffenheim had looked set to nick a point after substitute Munas Dabbur netted a 90th-minute leveller. But the Norwegian, who hadn't looked at his best all evening, popped up with a poacher's strike just a minute later to get Dortmund back on track after consecutive losses.
Giovanni Reyna marked his 50th Bundesliga appearance by breaking the deadlock just minutes after the restart with an impressive shot.
Haaland nets brace on return to send Dortmund top with win over Mainz
Hoffenheim had threatened sporadically and Christoph Baumgartner levelled the scores just past the hour-mark.
Jude Bellingham netted a fine goal to restore Dortmund's lead just moments before he had to limp off with injury - but the drama was far from over as Dabbur bundled over the line as the hosts failed to deal with a corner delivery.
But so often the man for the big occasion, Haaland won the game for the hosts, hammering home on the rebound after a goalmouth scramble to send the home supporters wild.
The victory moves Marco Rose's men top of the league ahead of the weekend's fixtures with six points from a possible nine.
TALKING POINT - Haaland is the hero once again
High drama at Signal Iduna Park. This topsy-turvy, enthralling game of football was a fantastic advertisement for the Bundesliga. Erling Haaland once again proved the match-winner as his third goal of the season (already!) snatched much-needed points for Dortmund.
It had looked set to be a night for Dortmund's teenagers; Reyna - on his big night - gave BVB lift off before Bellingham took matters into his own hands with a great goal. The pair are progressing every week and at 18 years old, continue to belie their tender age.
The defence continues to leak goals, however, and it was Haaland who proved the hero once again. The Norwegian is a force of nature and even when he seemingly has an off-night, there's always the strong possibility he will pop up when it matters.
MAN OF THE MATCH - Jude Bellingham (Dortmund)
The season may be young, but the former Birmingham City teenager already looks like he's going to have his best campaign yet. After the first half ended goalless, the teenager grabbed the game by the scruff of the neck, providing the opener before grabbing a goal of his own. It's a big blow that he was forced off with an injury just moments later, and Rose will be hoping it's nothing too serious.
Dortmund: Kobel 8, Meunier 7, Witsel 6, Akanji 6, Guerreiro 7, Bellingham 9*, Dahoud 7, Reyna 8, Reus 8, Haaland 8, Malen 7.. subs: Brandt 6, Passlack N/A, Wolf 5, Moukoko 5
Hoffenheim: Baumann 7, Akpoguma 6, Posch 7, Vogt 6, Raum 6, Rudy 7, Geiger 8, Stiller 6, Baumgartner 6, Kramaric 6, Bruun Larsen 6.. subs: Gacinovic 5, Dabbur N/A, Adamyan 5.
49' - GOAL! Dortmund 1-0 Hoffenheim (Gio Reyna): On his big night, Reyna breaks the deadlock! Reus cuts in from the flank and rolls it to Bellingham. He flicks it into the path of Reyna, who takes a touch and fizzes the ball into the bottom corner. Some way to celebrate your 50th Bundesliga appearance!
61' - GOAL! Dortmund 1-1 Hoffenheim (Christoph Baumgartner): They have threatened all night and now Hoffenheim have their equaliser! The visitors spread the ball to the right for Geiger and his perfectly weighted pass finds Baumgartner in behind the defence. He takes a touch and smashes the ball past Kobel from a tight angle.
69' - GOAL! Dortmund 2-1 Hoffenheim (Jude Bellingham): Dortmund restore their advantage thanks to a fine goal by Bellingham! Guerreiro delivers a cross, Raum makes a mess of his clearance, heading into the path of Bellingham, who still has a lot to do. But he controls superbly and rifles a left-footed shot into the net.
90' - GOAL! Dortmund 2-2 Hoffenheim (Munas Dabbur): The substitute gets the final touch to level the scores right at the death! He's not offside as he taps in at the far post from a corner delivery!
90'+1 - GOAL! Dortmund 3-2 Hoffenheim (Erling Haaland): Haaland is the hero for Dortmund once more! Unbelievable scenes here as the Norwegian star bags what has to be the winner! There's pinball in the visitors' penalty box as Baumann saves from Wolf's shot but Haaland is there in the right place at the right time to hammer it home!
Giovanni Reyna made 50th Bundesliga appearance - aged 18 years, nine months and 14 days, he is the youngest player in Bundesliga history to reach this mark.
Raiola plans Haaland talks with Man City in January – Paper Round
Marotta says Juventus missed chance to sign Haaland for €2 million