Bayern Munich were crowned Bundesliga champions for the 10th consecutive season on Saturday after a 3-1 home win over second-placed Borussia Dortmund.
First-half goals by Serge Gnabry and Robert Lewandowski put Bayern in control at a sold-out Allianz Arena before Emre Can converted a penalty after the break for Dortmund.
But teenager Jamal Musiala fired in a late goal to spark early celebrations in the home crowd.
This is the first time a club has won 10 straight titles in one of Europe’s top five leagues.
“The year wasn’t that easy. That’s why I’m happy that we crowned it with the championship title,” said Bayern coach Julian Nagelsmann, who was drenched in beer by his players.
The Bavarian giants’ eighth successive win over Dortmund leaves Bayern an unassailable 12 points clear with three games left.
The title capped an up-and-down season for Bayern, who were dumped out of the Champions League in the quarter-finals by Villarreal earlier this month.
“It was important that we finished things off after being knocked out by Villarreal,” said Bayern captain Manuel Neuer.
“Everyone wanted it, that’s what’s special in our team.”
Thomas Mueller, who claimed a record-breaking 11th Bundesliga winner’s medal, said: “We were able to get a few things off our chest. Now it’s wonderful.”
Bayern dominated the opening half and Gnabry fired a magnificent volley into the top corner from the edge of the box to give them a 15th-minute lead.
Gnabry had a second effort disallowed before Lewandowski doubled the advantage 11 minutes before half-time.
It was the Poland striker’s 27th goal in 26 matches against Dortmund, who he left for Bayern in 2014.
But his future is in doubt, with Lewandowski’s contract up next year and Barcelona reportedly interested in taking him to the Camp Nou.
“Something will happen soon. The only thing I know is that there will be a meeting (with Bayern)”, he told Sky.
Dortmund responded early in the second half as Can converted a penalty after Marco Reus was brought down in the area.
The visitors had their appeals for another spot-kick waved away with 30 minutes left when Lucas Hernandez brought Jude Bellingham down in the area.
Lewandowski won the battle of the Bundesliga’s star strikers as Erling Haaland, who has been linked with big-money move to Manchester City, failed to score despite forcing Bayern goalkeeper Manuel Neuer into two late saves.
Musiala put the result beyond doubt when he slotted home seconds after his initial shot was saved by Dortmund keeper Marwin Hitz.
Late Union goals stun Leipzig
Earlier, Union Berlin scored two late goals to poach a 2-1 win at RB Leipzig, which kept alive their Champions League qualification hopes.
Bayer Leverkusen thumped bottom club Greuther Fuerth 4-1 to take third place from Leipzig and move three points clear of fifth-placed Freiburg in the race for the top four.
Freiburg missed the chance to draw level on points with Leipzig, conceding a late equaliser in a 3-3 draw with Borussia Moenchengladbach.
Union are just two points further back in sixth, with five clubs, including seventh-placed Cologne, separated by just six points with three games remaining in the battle to reach next season’s Champions League group stage.
Yussuf Poulsen put Leipzig ahead early in the second half to put the hosts on course for their second win in four days over Union, who they beat 2-1 in the German Cup semi-finals on Wednesday.
However, Union avenged the cup defeat as substitutes Sven Michel and then Kevin Behrens scored in the 86th and 88th minutes.
Union are bidding to reach the Champions League for the first time in just their third season since being promoted to the Bundesliga.
Freiburg, also hoping for a maiden appearance in Europe’s premier competition, looked set to pile the pressure on Leipzig as they fought back from 2-0 down at half-time to lead Gladbach.
But Lars Stindl struck for the away side in the third minute of injury time.
Fuerth were finally relegated after their loss to Leverkusen, having been last in the table since September.