Robert Lewandowski kept up his sensational Klassiker form as Bayern Munich topped the Bundesliga with a rollercoaster 3-2 victory at Borussia Dortmund.
Lewandowski - who also saw two other goals ruled out by VAR - netted his 22nd goal against his former employers from Lucas Hernandez's cross three minutes after half-time to give the visitors the lead for the first time in the game, with Marco Reus' close-range finish moments before the break already cancelled out by David Alaba's deflected effort in first-half injury time.
Bayern proved the more clinical side in an end-to-end game as substitute Leroy Sane added a third following a fine run from midfield (80), before the otherwise wasteful Erling Haaland gave Dortmund hope from Raphael Guerreiro's ball in behind (82).
But in a match the hosts may have felt they deserved more from, it was their visitors who went top of the Bundesliga, ensuring Hansi Flick kept up his 100-per-cent record against Bayern's biggest rivals and secured their sixth win from seven league games.
How Bayern emerged victorious from breathtaking encounter
With a place at the top of the table beckoning for the victors, it was no huge surprise both sides started at breakneck speed at Signal Iduna Park, with Lewandowski firing wide from close range inside 45 seconds.
Dortmund's gameplan of playing on the break led to a number of near misses for the hosts, with last-gasp blocks denying two early tap-ins, before Roman Burki was called into action at the other end to palm away Leon Goretzka's header from a corner.
Bayern thought they had beaten the goalkeeper when Kingsley Coman's wonderful turn and raking pass on the break reached Gnabry, whose low cross found a sliding Lewandowski to fire home from close range. But after several minutes, a borderline VAR call ruled the Polish forward offside.
Dortmund continued to pose a threat on the break and were unlucky not to have a man advantage when Joshua Kimmich saw only a yellow card for catching Haaland on the half-way line, but seconds before the break they netted the opening goal instead when Reus turned home Guerreiro's cut-back with a first-time effort.
Still there was more to come before the interval, after Thomas Delaney's clumsy foul on Gnabry on the edge of the home box. With little to aim at, the German rolled the resulting free-kick into Lewandowski's path, and he teed up Alaba to beat Burki with a deflected shot.
Moments after the interval, Haaland fizzed a cross-cum-shot past the far post from Jadon Sancho's fine run and pass, but Lewandowski would demonstrate his own striking abilities soon after to turn Hernandez's hopeful cross beyond Burki on the run.
Dortmund were far from deterred but passed up excellent chances to level as first Giovanni Reyna, then Reus, then Hazard fired straight at Neuer with efforts they should have buried.
And the game looked beyond the hosts when Bayern caught them upfield on the break, allowing substitute Sane to turn inside Mats Hummels and fire beyond Burki to give Flick's side a two-goal lead.
That would last only two minutes before Haaland, who had looked to beat Bayern's high line all night but had lacked a final ball of any kind, took down Guerreiro's ball in behind and kept his composure to beat Neuer with a classy finish.
But luck was not on Dortmund's side, and in the third minute of second-half added time, Lewandowski's heavily deflected effort beat Burki but was again ruled out by VAR. However, it mattered little as Bayern leapfrogged RB Leipzig to go top of the Bundesliga table.
Man of the match - Robert Lewandowski
Is he ever going to start showing his age? In addition to coming back to haunt his old side for the 22nd time, everything stuck to Lewandowski who turned provider for Sane's third, could have had two more of his own had marginal offside calls not ruled them out, and seemed to win everything launched his way.
He gave Haaland a lesson in finishing with his clinical nature, and was a focal point with and without the ball for Bayern as usual.
What's next?
Dortmund travel to Hertha Berlin after the international break on November 21; Kick-off at 7.30pm.
Bayern Munich host Werder Bremen on the same day; Kick-off at 2.30pm.