Jamal Musiala salió del banquillo para marcar un doblete en los minutos 56 y 90+1 y ayudar a los bávaros, quienes no pudieron contar con el inglés Harry Kane, lesionado en un tendón de la pierna derecha.
El francés Dayot Upamecano puso a los líderes en ventaja a los 18 minutos con un gol tras un córner, pero el defensa central también respaldo a los visitantes para nivelar el choque a los 50, cuando Mathias Honsak aprovechó su mal pase y definió solo ante el portero Daniel Peretz.
Vincent Kompany apeló a Musiala por Thomas Mueller momentos después de que Heidenheim empatara a uno.
El internacional alemán restableció la ventaja del Bayern a los 56 al disparar un tiro dentro del área por debajo del meta Mueller.
Ya en la recta final, Leon Goretzka hizo el 3-1 a los 83 minutos, pero Niklas Dorsch anotó un segundo gol para Heidenheim a los 85 y dio emoción al choque hasta que Musiala volvió a marcar en el tiempo de descuento.
Eintracht Frankfurt quedó a seis puntos del Bayern después de un error del cancerbero Kevin Trapp, quien soltó el balón y el congoleño Samuel Essende no perdonó al anotar por el Augsburgo el 2-1 transitorio.
El turco Can Uzun ingresó desde la banca para conseguir la diana del Frankfurt que salvó el empate 2-2.
Bayer Leverkusen, tras eliminar al Bayern en la Copa de Alemania, logró un triunfo de 2-1 ante el San Pauli.
Por los ganadores, Florian Wirtz y Jonathan Tah anotaron temprano (minutos seis y 21) y Morgan Guilavogui descontó en el tramo final para los visitantes.
El éxito dejó a la escuadra del español Xabi Alonso en el tercer lugar, un punto detrás de Frankfurt.
El portugués Andre Silva al minuto 27 y el esloveno Benjamin Sesko (69 de penal) perforaron las redes por el Leipzig, cuarto en la tabla, en el triunfo 2-0 ante el Holstein Kiel.
Por último, el Werder Bremen doblegó 1-0 al colista Bochum 1848, con un tanto de Jens Stage (m. 56) y el Borussia Monchengladbach empató 1-1 ante el Borussia Dortmund.
Resultados de la jornada 13:
Viernes:
-Stuttgart — Unión Berlín 3-2.
Sábado:
-Bayer Leverkusen — San Pauli 2-1.
-Bayern Múnich — Heidenheim 4-2.
-Eintracht Frankfurt — Augsburgo 2-2.
-Bochum — Werder Bremen 0-1.
-Kiel — Leipzig 0-2.
-Bor. Monchengladbach — Borussia Dortmund 1-1.
Domingo:
-Wolfsburgo — Mainz.
-Hoffenheim — Friburgo.
Tabla de posiciones:
Equipo PJ PG PE PP GF GC Pts.
1-Bayern Múnich 13 10 3 0 41 10 33.
2-Eintracht Frankfurt 13 8 3 2 33 18 27.
3-Bayer Leverkusen 13 7 5 1 30 20 26.
4-Leipzig 13 7 3 3 21 14 24.
5-Borussia Dortmund 13 6 3 4 24 20 21.
6-Stuttgart 13 5 5 3 26 23 20.
7-Friburgo 12 6 2 4 16 16 20.
8-Mainz 12 5 4 3 20 14 19.
9-Werder Bremen 13 5 4 4 20 24 19.
10-Wolfsburgo 12 5 3 4 25 19 18.
11-Borussia Monchengladbach 13 5 3 5 19 18 18.
12-Unión Berlín 13 4 4 5 12 14 16.
13-Augsburgo 13 4 4 5 16 25 16.
14-Hoffenheim 12 3 3 6 17 24 12.
15-San Pauli 13 3 2 8 11 17 11.
16-Heidenheim 13 3 1 9 17 28 10.
17-Kiel 13 1 2 10 13 33 5.
18-Bochum 13 0 2 11 10 34 2.
jcm/am