A Leon Goretzka strike and a Robert Lewandowski hat-trick cancelled out two early Erling Haaland goals to give Bayern Munich a 4-2 win over Borussia Dortmund in Der Klassiker - moving the Bavarians back to the Bundesliga summit.
Dortmund grabbed the lead within just two minutes when Haaland found the bottom corner from around 20 yards out, after the ball broke his way. The Norwegian didn't take long to get his brace, neatly slotting home from a Thorgan Hazard pull back on nine minutes.
Bayern reacted well, however, and pulled one back in the 26th minute when Lewandowski tapped in from close range from a Leroy Sane cross. The Bavarians then had a penalty awarded to them after a VAR check noticed Mahmoud Dahoud had clipped Kingsley Coman in the area. Lewandowski stepped up and coolly put the ball past Marwin Hitz to make it 2-2 at the end of a breath-taking first half.
In what was a much more subdued second half, it took Bayern until the 88th minute to finally take a deserved lead. Leon Goretzka found Hitz's bottom corner on the volley from a half-cleared ball to make it 3-2. Lewandowski then secured his hat-trick when he received an Alphonso Davies pass and fired home into the far corner to make sure of the three points on 90 minutes.
Bayern's seventh successive home league win over Dortmund moves them back up to top spot in the Bundesliga, leaving BVB 16 points adrift and four points off the top four. Now, let's see how the players rated from this thrilling Der Klassiker.
Bayern Munich player ratings
1. Goalkeeper & Defenders
Manuel Neuer (GK) - 5/10 - Had very little to do and simply couldn't stop the Dortmund goals that shocked Bayern early on.
Niklas Sule (RB) - 6/10 - Struggled whenever Nico Schulz decided to maraud forward, but generally did a solid job and, once again, provided a threat in forward areas, making another two key passes.
Jerome Boateng (CB) - 7/10 - Was really weak in the build up to Dortmund's first, failing to close down Haaland, but defended very well after that, making six ball recoveries before being forced off with injury.
David Alaba (CB) - 6/10 - Covered ground really well, using his pace to make three interceptions when Boateng couldn't make up the distance. Couldn't influence the game with his range of passing as he often does, though.
Alphonso Davies (LB) - 6/10 - Bizarrely didn't seem up for the occasion. Rarely bombed up the left as he usually does so magnificently, but did a good job nullifying the threat of Marco Reus and in the end claimed the assist for Lewandowski's third.
Joshua Kimmich (CM) - 7/10 - Spread the ball well again and, as usual, was the one that made his side tick when in possession, making a whopping 124 touches. Made two key passes for teammates as well.
Leon Goretzka (CM) - 8/10 - Another excellent display. Showed great energy in midfield, often surging forward and linking play up well in advanced areas, racking up four key passes before lashing home late on to steal the three points from Dortmund.
Thomas Muller (AM) - 5/10 - Couldn't get into the game and influence proceedings. Made one key passes but, overall, was quite anonymous for the Bavarians.
Leroy Sane (RW) - 7/10 - Once again looked bright and creative, assisting Lewandowski's first with fantastic feet and a good ball across the box but faded out of the game somewhat in the second period.
Robert Lewandowski (ST) - 9/10 - Looked off the pace in general, but somehow still managed a hat-trick to reach 31 league goals this season. Unstoppable.
Kingsley Coman (LW) - 6/10 - Was dangerous when he had the ball at his feet, putting in a couple of great crosses and winning the penalty for Bayern's equaliser. But it would've been good to see him try and run in behind a bit more.
Serge Gnabry (LW) - 6/10
Javi Martinez (CB) - 6/10
Eric Maxim Choupo-Moting (ST) - N/A
Lucas Hernandez (LB) - N/A
Borussia Dortmund player ratings
5. Goalkeeper & Defenders
Marwin Hitz (GK) - 5/10 - Made a few good saves, but couldn't do anything about any of Bayern's goals as they all found the bottom corner of his net.
Thomas Meunier (RB) - 5/10 - Had a decent game, notably playing a wonderful cross field pass to set up the breakaway move for 2-0, but missed a huge chance moments later that should've seen the visitors take a 3-0 lead.
Mats Hummels (CB) - 7/10 - A solid performance at the back, making three ball recoveries and six clearances. Didn't do much wrong at all but couldn't see out the draw.
Dan-Axel Zagadou (CB) - 6/10 - Was calm and collected on the ball, but let his side defensively once when playing Lewandowski onside for Bayern's first. Other than that, though, the Frenchman can be pleased.
Nico Schulz (LB) - 6/10 - Struggled at times against Sane, but got forward really well, playing a huge part in the move that led to Dortmund's second with an assist to the assist.
Emre Can (CM) - 7/10 - Worked tirelessly with his pressing and covering for team mates, often playing as a third centre back. Also managed to carry the ball out from deep areas well, at times helping to calm the tempo.
Thomas Delaney (CM) - 7/10 - Another Dortmund man who provided great intensity in the middle of the park. Gave the opposition very little time on the ball, most notably forcing the error that led to the first goal, which will count as an assist.
Mahmoud Dahoud (AM) - 5/10 - Looked good going forward, but was clumsy and rash in giving away the penalty for Bayern's equaliser which sullied his performance.
Marco Reus (RW) - 5/10 - Was fairly quiet throughout. Failed to create much, registering no key passes, and never really drove at the Bayern defence with much intent.
Erling Haaland (ST) - 8/10 - Aggressive, dangerous and clinical. Put himself about constantly and never gave the Bayern back line a moment's rest. Capped his performance off with two very well taken goals before being taken off with what looked like a slight knock.
Thorgan Hazard (LW) - 7/10 - Did really well stepping into the shoes of Jadon Sancho. Created several openings and provided a good assist for Haaland's second.
Julian Brandt (RW) - 6/10
Steffen Tigges (ST) - 5/10
Mateu Morey (RB) - 6/10
Jude Bellingham (CM) - N/A
Reinier (ST) - N/A