Bayern Munich crumbled to lose from two goals up at Heidenheim and all but hand Bayer Leverkusen the Bundesliga title.
Harry Kane’s 32nd league goal of the season and Serge Gnabry’s header put Bayern in total control at half-time.
However, Heidenheim scored twice within two minutes to level through substitute Kevin Sessa and Tim Kleindienst.
With Leverkusen en route to victory in Berlin, Bayern pushed for a winner but Kleindienst caught them on the break to earn the hosts a famous triumph.
Defeat means Bayern slip 16 points behind Leverkusen with six games to play – and Xabi Alonso’s side can clinch a first-ever Bundesliga title with a win at home to Werder Bremen next weekend.
Bayern boss Thomas Tuchel, who is leaving the club at the end of the season, had already conceded the title race was over after his team’s loss at home to Borussia Dortmund seven days earlier.
But they extinguished any slight glimmer of hope with a wretched second-half display featuring wastefulness up front and naivety at the back.
Kane had produced a typically clinical finish to sweep home a lofted pass from Gnabry, who then nodded home Alphonso Davies’ cross to double the lead.
But the England striker spurned chances to put the visitors back in front after Heidenheim’s quick-fire double punished inexplicable gaps in the Bayern backline.
Kleindienst fired home Marvin Pieringer’s square ball to complete the turnaround, to which a clearly deflated Bayern had no answer as they lost to a newly-promoted side for the first time in almost 24 years.
They must now attempt to pick themselves up for Tuesday’s trip to Arsenal in the Champions League quarter-final first leg, Bayern’s last remaining chance of silverware this season.
That is also Kane’s sole chance of ending his trophy drought this term, although he is almost guaranteed to finish as the league’s top goalscorer, nine ahead of his closest rival, Stuttgart’s Serhou Guirassy, and with Robert Lewandowski’s all-time record of 41 Bundesliga goals in a campaign still attainable.
Line-ups
Heidenheim
Formation 4-2-3-1
- 1Müller
- 23Traoré
- 6Mainka
- 5GimberBooked at 62mins
- 19FöhrenbachSubstituted forBuschat 45′minutes
- 3SchöppnerSubstituted forSessaat 45′minutes
- 33Maloney
- 8DinkçiBooked at 89minsSubstituted forPickat 90+2′minutes
- 21BeckSubstituted forPieringerat 45′minutes
- 37BesteSubstituted forThomallaat 76′minutes
- 10Kleindienst
Substitutes
- 2Busch
- 4Siersleben
- 9Schimmer
- 11Thomalla
- 16Sessa
- 17Pick
- 18Pieringer
- 22Eicher
- 24Kühlwetter
Bayern Munich
Formation 4-2-3-1
- 26Ulreich
- 6Kimmich
- 2Upamecano
- 3Kim Min-jae
- 19Davies
- 27Laimer
- 8GoretzkaSubstituted forZaragozaat 83′minutes
- 25MüllerSubstituted forGuerreiroat 84′minutes
- 42MusialaSubstituted forChoupo-Motingat 76′minutes
- 7GnabrySubstituted forTelat 67′minutes
- 9Kane
Substitutes
- 4de Ligt
- 13Choupo-Moting
- 15Dier
- 17Zaragoza
- 18Peretz
- 22Guerreiro
- 39Tel
- Referee:
- Robert Schröder
- Attendance:
- 15,000
Live Text
-
Match ends, 1. FC Heidenheim 1846 3, FC Bayern München 2.
-
Second Half ends, 1. FC Heidenheim 1846 3, FC Bayern München 2.
-
Corner, 1. FC Heidenheim 1846. Conceded by Alphonso Davies.
-
Foul by Dayot Upamecano (FC Bayern München).
-
Tim Kleindienst (1. FC Heidenheim 1846) wins a free kick on the left wing.
-
Substitution, 1. FC Heidenheim 1846. Florian Pick replaces Eren Dinkçi.
-
Attempt blocked. Harry Kane (FC Bayern München) right footed shot from outside the box is blocked. Assisted by Raphaël Guerreiro.
-
Eren Dinkçi (1. FC Heidenheim 1846) is shown the yellow card for a bad foul.
-
Alphonso Davies (FC Bayern München) wins a free kick in the defensive half.
-
Foul by Eren Dinkçi (1. FC Heidenheim 1846).
-
Attempt saved. Bryan Zaragoza (FC Bayern München) left footed shot from the left side of the box is saved in the centre of the goal. Assisted by Konrad Laimer.
-
Substitution, FC Bayern München. Raphaël Guerreiro replaces Thomas Müller.
-
Substitution, FC Bayern München. Bryan Zaragoza replaces Leon Goretzka.
-
Joshua Kimmich (FC Bayern München) wins a free kick on the right wing.
-
Foul by Kevin Sessa (1. FC Heidenheim 1846).
-
Attempt saved. Mathys Tel (FC Bayern München) left footed shot from the left side of the box is saved in the centre of the goal. Assisted by Eric Choupo-Moting.
-
Goal! 1. FC Heidenheim 1846 3, FC Bayern München 2. Tim Kleindienst (1. FC Heidenheim 1846) left footed shot from the centre of the box to the centre of the goal. Assisted by Marvin Pieringer following a fast break.
-
Substitution, FC Bayern München. Eric Choupo-Moting replaces Jamal Musiala.
-
Substitution, 1. FC Heidenheim 1846. Denis Thomalla replaces Jan-Niklas Beste.
-
Attempt missed. Jan-Niklas Beste (1. FC Heidenheim 1846) left footed shot from outside the box is just a bit too high from a direct free kick.