Olise nets last-gasp equalizer
Michael Olise struck the post for Bayern and the ball bounced off Heidenheim goalkeeper Diant Ramaj's back into the net for the equalizer in the 10th minute of stoppage time on Saturday.
"It was the mentality, the belief," Bayern coach Vincent Kompany said. "We can do many things better, but we must not forget that the lads gave everything in the end to avoid losing the game."
It was the third straight game that Bayern trailed at halftime, including its 5-4 loss to PSG in the first leg of their Champions League semifinal on Tuesday.
Match summary
Heidenheim's Budu Zivzivadze and Eren Dinkci scored before Leon Goretzka pulled one back with a free kick before the break. Goretzka leveled with his second goal in the 57th minute.
Zivzivadze scored again to restore Heidenheim's lead in the 76th minute, only for Olise to force the equalizer deep in stoppage time.
The draw leaves Heidenheim on the verge of relegation.
Union Berlin earns first point under new coach
Union Berlin fought back to draw 2-2 with Cologne for its first point under Marie-Louise Eta, the first female head coach in the league.
"The guys left their hearts on the field," Eta said.
The draw kept Union a point above Cologne and will probably be enough for survival.
Leverkusen moves into fourth
Patrick Schick scored a hat trick and Bayer Leverkusen beat Leipzig 4-1 to move into fourth, the last qualification spot for the Champions League.
Schick took his season tally to 16 goals – and six in his last three games – to lift Leverkusen above Stuttgart and Hoffenheim on goal difference. All three have 58 points.
Other results
Tiago Tomas scored in stoppage time for 10-man Stuttgart to draw at Hoffenheim 3-3.
Hamburger SV won 2-1 at Eintracht Frankfurt to move a point above Union.
Augsburg won 3-1 at Werder Bremen, which dropped just outside of the relegation zone.
Second-division leader Schalke clinced its Bundesliga return with a 1-0 win at home against Fortuna Düsseldorf.