David Alaba missed a first-half penalty, but Bastian Schweinsteiger scored the only goal of the game on 53 minutes to leave Bayern 20 points clear at the top.
It was the earliest Bundesliga title win in history, beating Bayern's own record of four games to go in the 1972-73 and 2002-03 seasons.