Bayern Munich extended their lead at the top of the Bundesliga to seven points after a superb Joshua Kimmich chip gave them a 1-0 win over Borussia Dortmund.
The latest Der Klassiker match-up had been billed as a title decider, with only four points separating the two sides at the top of the table heading into the game, but it was Bayern who showed their league-winning pedigree to dispatch their closest rivals.
It was an energetic affair from the start in an almost empty Signal Iduna Park, but a sensational floated chip from Kimmich in the 43rd minute - only the second goal Dortmund have conceded in seven games - decided the tie and most likely the title.
Bayern have now scored ten goals without reply in their last three league meetings with Dortmund and remain on course for their eighth successive Bundesliga trophy.
How Bayern put one hand on the trophy
Dortmund had some demons to expel from their 4-0 thrashing by Bayern earlier in the season and certainly meant business as the game began. Erling Haaland drove into the area before shooting through the legs of the oncoming Manuel Neuer, but Jerome Boateng was waiting on the line to clear. Not long after, Julian Brandt tested the goalkeeper's reflexes, but Neuer made a fine save.
Dortmund did have the ball in the back of the net in the seventh minute after some slick passing left the Bayern defence wanting, but Thorgan Hazard was flagged for offside as Raphael Guerreiro nodded home his cross.
Dortmund: Burki (6), Piszczek (7), Hummels (7), Akanji (7), Hakimi (6), Delaney (6), Dahoud (6), Guerreiro (7), Brandt (7), Hazard (7), Haaland (7).
Subs used: Sancho (6), Can (6), Reyna (5), Gotze (5), Witsel (n/a).
Bayern: Neuer (7), Pavard (7), Boateng (7), Alaba (7), Davies (8), Kimmich (8), Goretzka (7), Coman (7), Muller (7), Gnabry (7), Lewandowski (7).
Subs used: Perisic (6), Hernandez (n/a), Martinez (n/a).
Man of the match: Joshua Kimmich.
When Bayern did begin to find their feet, they almost broke the deadlock but were thwarted by Dortmund captain Lukasz Piszczek's sensational clearance. Kingsley Coman slipped the ball into the path of Serge Gnabry inside the penalty area, who fired a low shot goalwards. It beat goalkeeper Roman Burki but Piszczek was there to flick the ball away on the goal line.
The game continued apace throughout the first period, with both having their chances, but it was Bayern who took the lead with two minutes of the half remaining. The ball pinged around the outside of the area, eventually falling into the path of Kimmich. He took a few strides before expertly floating a chip over the sea of players ahead of him and into the top corner, powering through the outstretched fingertips of Burki.
Bayern were buoyed by their late first half goal and were dominant after the break, with Burki making some early saves. Haaland saw a good chance at the other end go begging too when his shot, which was not caught well, hit the back of Boateng's arm before going behind for a corner. Amazingly, there were no VAR appeals from Dortmund or a review as play continued.
- Dortmund named the same starting XI for the third game in a row, with Jadon Sancho once again on the bench. Axel Witsel also returned among the substitutes for the first time since the Bundesliga restarted.
- Bayern made just one change from the weekend with Ivan Perisic dropping to the bench for Serge Gnabry.
It was a narrative that continued through the second half - Bayern had the better of the game, but Dortmund snuck in some good chances. Just after the 70 minute mark, second half substitute Jadon Sancho burst down the left flank before sweeping the ball through the area, but Neuer watched it float past his outstretched hand as Haaland came storming in, just missing the cross.
The hosts soon went close again. Dortmund played some neat, one touch football around the Bayern area with Mahmoud Dahoud firing a thunderbolt towards Neuer, but the goalkeeper made an equally as strong save to push it away. Just after, Robert Lewandowski hit a similarly powerful effort at the other end, but could only find the upright.
There was a big penalty call for Bayern and Lewandowski in added time as Manuel Akanji barged the striker out of the way with a shoulder, sending him over. This time, there were strong appeals from the visitors but VAR was not implemented, with the referee having a few words with Hans-Dieter Flick in the dugout as he protested the decision.
But it was Bayern who still had the final word with the full-time whistle greeted by a roar from the visitors' camp as they took a huge step towards another Bundesliga title.
Man of the match - Joshua Kimmich
It was wonderful performance from the 25-year-old, and not only for his wonderful goal. According to Opta, he ran 13.73km during the game - the furthest any Bayern player has run in a game since Opta started collecting tracking data - and had the loudest roar at full-time when Bayern passed arguably their hardest test yet on the way to another league trophy.
But despite being a defensively-minded player, his finish for the winning goal would be something even the best strikers would be proud of. He took out an entire defense with his floated chip, which seemed to fly over everyone in slow motion before reaching the back of the net. It is his third goal for Bayern this season from outside the box - more than any of his team-mates.
Dortmund will play again on Sunday when they travel to Paderborn (kick-off 5pm). Bayern are in action on Saturday evening when they welcome Fortuna Dusseldorf to the Allianz Arena (kick-off 5.30pm).