Bastian Schweinsteiger scored the only goal of the game at Eintracht Frankfurt in the 52nd minute, enabling the visitors to wrap up an 11th straight victory and set the record for the earliest Bundesliga title in history.
Bayern clinched the crown after 28 of 34 rounds - two rounds quicker than their own record of winning in the 30th round in the 1972-73 and 2002-03 seasons.
Munich have 75 points - 20 more than Borussia Dortmund - with six rounds of matches remaining.
The visitors nearly took the lead after 10 minutes but Xherdan Shaqiri's shot from 14 yards struck the base of the right post.
The same upright denied Bayern again in the 27th minute as David Alaba saw his penalty strike the woodwork after Frankfurt's Marco Russ had brought down Thomas Muller in the box.
The decisive breakthrough came in the 52nd minute. Philipp Lahm crossed into the box to Schweinsteiger, who backheeled in a classy goal.
Bayern were looking to double their advantage in the 67th minute but Shaqiri's shot went just wide from 20 yards out.
Frankfurt showed why they are fighting for a spot in international action next season as Bayern goalkeeper Manuel Neuer made a superb save from Srdjan Lakic's point-blank attempt from eight yards out in the 79th minute.
Schweinsteiger was forced to clear off the line three minutes later and the ensuing corner landed at the feet of Takashi Inui, whose powerful shot from 14 yards found the side-netting.
As the visitors celebrated, Frankfurt were left to ponder a run of just one victory in seven matches, remaining on 42 points.