Dortmund entered Saturday’s decisive final match two points clear of Bayern, but Edin Terzic’s side were stunned in a 2-2 draw following disastrous first half that saw Mainz go two goals ahead and forward Sebastian Haller miss a penalty.
Meanwhile, Bayern travelled to Cologne and went ahead inside 10 minutes thanks to an early goal from winger Kingsley Coman.
A late penalty from Cologne midfielder Dejan Ljubicic looked to cause more late drama — with the title heading to Dortmund as it stood. However, Bayern forward Jamal Musiala netted on 89 minutes to seal a memorable 2-1 victory.
Dortmund scored a stoppage-time equaliser through Niklas Sule but had just seconds to chase a winner, with the final whistle confirming Bayern’s 33rd German top-flight title.
It has been a turbulent campaign at the German giants as they switched managers during the season, but March arrival Thomas Tuchel managed to steer Bayern to yet another league triumph as they continued their decade-long dominance of the competition.