First-half goals by Serge Gnabry and Robert Lewandowski put Bayern in control at a sold-out Allianz Arena before Emre Can converted a penalty after the break for Dortmund.
But teenager Jamal Musiala fired in a late goal to spark early celebrations in the home crowd.
This is the first time a club has won 10 straight titles in one of Europe's top five leagues.
The Bavarian giants' eighth successive win over Dortmund leaves Bayern an unassailable 12 points clear with three games left.
Bayern dominated the opening half and Gnabry fired a magnificent volley into the top corner from the edge of the box to give them a 15th-minute lead.
Gnabry had a second effort disallowed before Lewandowski doubled the advantage 11 minutes before halftime.
It was the Poland striker's 27th goal in 26 matches against Dortmund, who he left for Bayern in 2014.
Dortmund responded early in the second half as Can converted a penalty after Marco Reus was brought down in the area.
The visitors had their appeals for another spot-kick waved away with 30 minutes left when Lucas Hernandez brought Jude Bellingham down in the area.
Lewandowski won the battle of the Bundesliga's star strikers as Erling Haaland, who has been linked with big-money move to Manchester City, failed to score despite forcing Bayern goalkeeper Manuel Neuer into two late saves.
Musiala put the result beyond doubt when he slotted home seconds after his initial shot was saved by Dortmund keeper Marwin Hitz.