Robert Lewandowski chested down Jerome Boateng's chipped pass to net the winner against Werder Bremen - and seal the league with two games to spare.
Bayern's 11th straight Bundesliga win put them 10 points clear of Borussia Dortmund, who have three games left.
Bayern finished the match with 10 men after Alphonso Davies was sent off for two yellow-card offences.
How successful has the Bundesliga restart been?
Poland striker Lewandowski has scored 31 league goals this season, a tally that equals the single-season scoring record by a foreign player in the league. Pierre-Emerick Aubameyang, now at Arsenal, scored 31 Bundesliga goals for Borussia Dortmund in 2016-17.
Bayern were far from their best against a Werder Bremen side fighting for survival at the other end of the table.
With the game goalless, Bremen's Maximilian Eggestein went close from distance before Lewandowski's quality winner after Kingsley Coman had earlier headed narrowly wide.
Coman again went close before teenager Davies was sent off with 11 minutes remaining, while Werder Bremen had a late appeal for a penalty for handball turned down.
Bayern celebrate in unusual circumstances
Seven points clear of nearest rivals Borussia Dortmund with three games to go before kick-off, Bayern needed one win from their remaining three games to wrap up another title.
Hansi Flick's side did just that - but they got over the line in unusual circumstances.
When Bayern won the title on the final day of last season, they did so after an
emphatic 5-1 win over Eintracht Frankfurt in front of 75,000 fans at the Allianz Arena.
On Tuesday, there were no supporters present inside Werder Bremen's 42,000-capacity Weserstadion as they wrapped up the title in pouring rain.
The full-time whistle was greeted with shouts of delight from Bayern's players which echoed around the empty stadium, but it was a far cry from previous title celebrations before the coronavirus pandemic.