Bayern Munich won an 11th consecutive Bundesliga title as they beat Cologne to overtake Borussia Dortmund on a thrilling final day.
Dortmund would have won their first title since 2011-12 had they beaten Mainz, but a 2-2 draw opened the door for Bayern.
They took advantage thanks to Jamal Musiala’s 89th-minute winner.
A Cologne penalty had cancelled out Kingsley Coman’s earlier strike, but Musiala sent the away fans wild.
Dortmund’s players and fans were left dejected despite coming back from 2-0 down at the break, with Sebastian Haller having a first-half penalty saved.
It looked as if Bayern had blown their opportunity when Cologne’s Dejan Ljubicic levelled from the penalty spot with just nine minutes remaining.
But Musiala curled home in the closing seconds to break the hearts of Dortmund, who equalised late on through Niklas Sule.
Bayern beat Dortmund to the title on goal difference, with both sides ending on 71 points.
It marked a successful end to the season for boss Thomas Tuchel, who replaced Julian Nagelsmann in March.
Minutes after the final whistle, Bayern announced the dismissals of chief executive officer Oliver Kahn and sporting director Hasan Salihamidzic, who won 14 titles between them as Bayern players.
The title-defining final day that kept swinging
Bayern Munich are Bundesliga champions for an 11th straight year
Bayern Munich were bidding to become the first team to win the Bundesliga title having started the final day in second since 1999-2000 when they beat Bayer Leverkusen to the crown.
For that to happen they needed to beat Cologne and hope Dortmund failed to win at home against a Mainz team with nothing to play for.
After eight minutes, Bayern went top thanks to a strike from France winger Coman, who has won the title in every season as a professional footballer with Paris St-Germain, Juventus and Bayern.
Soon after, Andreas Hanche-Olsen gave Mainz their shock lead.
Dortmund had a glorious chance to level but Haller’s poor penalty was saved. It was his first spot-kick for the club, having missed the first half of this season as he recovered from testicular cancer.
Things got worse for the home side when Karim Onisiwo doubled Mainz’s lead one minute later.
Dortmund now needed to score three goals – or for Cologne to come back against Bayern.
Raphael Guerreiro gave them hope when he made it 2-1 and Ljubicic’s penalty leveller for Cologne meant Dortmund were nine minutes from the title.
But Musiala, Germany’s former England Under-21 midfielder, broke their hearts with an expert finish from inside the box.
The final whistle went at Cologne with Bayern doing their job and Thomas Muller, who now has won a record 12th Bundesliga titles, was seen following the other game on a phone.
He will have got a little concerned when Sule’s deflected strike made it 2-2 for Dortmund in the 96th minute.
But they could not find a winner in the remaining seconds and their dream of a first title since the days of Jurgen Klopp evaporated.
The famous ‘Yellow Wall’ stand stayed on to salute their team afterwards, with boss Edin Terzic and England midfielder Jude Bellingham, an unused substitute because of an injury, in tears.
Dortmund midfielder Jude Bellingham is in talks to join Real Madrid this summer
Tuchel gets Bayern over the line
Bayern were one point behind Dortmund when Tuchel took over
With this dramatic victory, Tuchel lands the first Bundesliga trophy of his career and gives the surprising decision to axe Nagelsmann with two months left of the season some merit.
They were in the hunt for a treble at the time and Tuchel took Bayern out of the German Cup and the Champions League after he arrived. They would have finished without a trophy for the first time since 2011-12 had Dortmund beaten Mainz.
He is the seventh different manager to win the title with Bayern in the last eight years after Pep Guardiola, Carlo Ancelotti, Jupp Heynckes, Niko Kovac, Hansi Flick – who won it twice – and Nagelsmann.
Forward Muller and injured goalkeeper Manuel Neuer, who missed the second half of the season after breaking his leg on a skiing holiday, lifted the trophy together – one they have now claimed 11 times together.
“It is an unbelievable moment – crazy, electric. I hoped it would happen but did not think it would,” said Muller.
“We conceded an equaliser just as we have done the entire season and then Musiala drills in the winner.
“People interested in football have the feeling that we do not deserve this and I understand that because of the second half of the season being so chaotic for us.”
Musiala could be on his way to the kind of title numbers Muller has racked up too, having played in four championship campaigns already at the age of 20.
He also scored in the game that sealed Bayern the title last season – a 3-1 win over Dortmund.