Bayer Leverkusen defeated Bayern Munich by five points, dealing a major blow to the Bundesliga title race.
Josip Stanisic scored at the back post to give Xabi Alonso's side the lead in the first half.
Immediately after the break, Alex Grimaldo fired a shot from an angle, and BayArena was buzzing again.
Jeremy Frimpong sealed the result in stoppage time when goalkeeper Manuel Neuer attempted a corner kick.
Second-placed Bayern, the defending champions who have won the Bundesliga the past 11 times, were overwhelmed with just a few shots on target.
With Leverkusen's victory, they are undefeated in 31 official games this season (27 wins, 4 draws).
Bayern's Thomas Muller said: “What we lack is the courage to play and some freedom.
“Leverkusen played football, taking risks and looking for solutions.
“We're playing A to B, B to C, but nobody's playing freely or taking any risks.”
Leverkusen fans start dreaming
North Rhine-Westphalia finished runner-up in the Bundesliga in 1996-97, 1998-99, 1999-2000, 2001-02 and 2010-11, and had no title wins in Germany's top league. The club was given a cruel nickname.
“Neverkusen” in English, “Vizekusen” (Second Kusen) in German.A club that looks doomed Always be close to men.
Their only major trophy was the 1993 German Cup 31 years ago, but in such a pivotal encounter there was no sign that history was weighing heavily on their shoulders.
The crowd may have been at its peak, but this was not a victory driven by emotion, but by glacial precision and tactical acumen.
The manner of the first two goals highlighted how Alonso's 3-4-3 formation and brave wing-backs exploited Bayern's vulnerabilities in wide areas.
In the second half, Stanisic broke into the box near the back post but was unblocked, getting on the end of Robert Andrich's low cross and firing the ball high into the goal.
Bayern manager Thomas Tuchel probably did not have that outcome in mind when he confirmed Stanisic's loan move to Leverkusen in August 2023.
Similarly, Grimaldo played a one-two with Nathan Tella on a wild run from wing-back, beating Neuer at his near post.
Frimpong added his third goal in stoppage time, curling the ball from the outside into an empty Bayern net after Neuer came forward for a corner kick.
The Werkself are now one match shy of the club's unbeaten record in the Bundesliga, which was set when Bayern went 32 unbeaten times in 2019-2020 under manager Hansi Flick.
No team has ever gone through an entire Bundesliga season unbeaten, with Bayern only losing once in the title-winning season of 1986-87 and in 2012-13.
In fact, Arsenal, AC Milan and Juventus are the only teams in Europe's top five leagues to go at least 34 games unbeaten throughout the season.
After this victory, Leverkusen fans will dream that anything is possible.
A quiet night for Kane after Bayern collapse
For the first time in eight years, Bayern managed just one shot on target in a Bundesliga match.
This result, as well as the point total, hurt the ego of a team that was used to being the front runner.
There is still a long way to go this season, and it's hard to imagine the 33-time Bundesliga champions throwing in the towel and allowing Leverkusen to canter home.
However, for Bayern coach Tuchel, the subdued performance of his players and the fact that he was tactically outmaneuvered by Bayer's fellow opponent Alonso must be a cause for concern.
It was also a quiet performance from Bundesliga top scorer Harry Kane, with the England captain on the sidelines for much of the game.
Kane had 18 touches against Leverkusen, but had no shots on target or created any chances.
After leaving Tottenham in search of trophies, he will not want to end his first season in Germany without a winners' medal.
lineup
B Leverkusen
formation 3-4-2-1
- 1hradetskyBooked in 83 minutes
- 12Tapu sobaBooked in 64 minutes
- FourTar
- 3Hincapie
- 2Stanisic
- 34Xhaka
- 8andrich
- 20GrimaldoReplacementPuertain 90 minutesminutes
- 19TerraReplacementfrimpongin 65 minutesminutes
- TenWortsReplacementFrozekin 90 minutesminutes
- twenty oneAdriBooked in 77 minutesReplacementhoffmanin 82 minutesminutes
substitute
- 7hoffman
- 9Iglesias
- 14chic
- 17Kovar
- 18Mbamba
- twenty threeFrozek
- twenty fourFoss Mensah
- 30frimpong
- 32Puerta
Bayern Munich
formation 3-4-2-1
- 1neuer
- 2UpamecanoReplacementKimmichin 60 minutesminutes
- 15Dyer
- 3Kim Min Jae
- 40Mazraoui
- 45pavlovichReplacementMullerin 60 minutesminutes
- 8goretzkaBooked in 62 minutesReplacementtelephone numberin 71 minutesminutes
- twenty threeboyBooked in 36 minutesReplacementGuerreiroin 81 minutesminutes
- TenSane
- 42MusialaReplacementChoupo Motingin 81 minutesminutes
- 9Cain
substitute
- Fourde lift
- 6Kimmich
- 13Choupo Moting
- twenty twoGuerreiro
- twenty fiveMuller
- 26ulreich
- 34Zvonarek
- 39telephone number
- 44Aznow
- Referee:
- felix zweier
- Attendance:
- 30,210
live text
-
Game over, Bayer 04 Leverkusen 3, FC Bayern Munich 0.
-
End of the second half, Bayer 04 Leverkusen 3, FC Bayern Munich 0.
-
goal! Bayer 04 Leverkusen 3, FC Bayern Munich 0. Jeremy Frimpong (Bayer 04 Leverkusen) fired his right-footed shot from long range on the right into the bottom right corner. Assisted by Edmond Tapsoba after the fast break.
-
Corner, FC Bayern Munich. Josip Stanisic conceded a goal.
-
Eric Choupo-Moting (FC Bayern Munich) wins a free kick in the attacking half.
-
Foul by Gustavo Puerta (Bayer 04 Leverkusen).
-
Harry Kane (FC Bayern Munich) wins a free kick in the attacking half.
-
Foul by Robert Andrich (Bayer 04 Leverkusen).
-
Foul by Eric Dier (FC Bayern Munich).
-
Piero Hincapie (Bayer 04 Leverkusen) wins a free kick in the defence.
-
Substitution, Bayer 04 Leverkusen. Adam Frozek replaces Florian Wirtz.
-
Substitution, Bayer 04 Leverkusen. Gustavo Puerta replaces Alex Grimaldo.
-
Offside, Bayer 04 Leverkusen. Jeremy Frimpong is caught offside.
-
Corner, Bayer 04 Leverkusen. Joshua Kimmich gave up a goal.
-
Attempt blocked. A right-footed shot by Jeremy Frimpong (Bayer 04 Leverkusen) from the right side of the box was blocked.
-
Offside, FC Bayern Munich. Joshua Kimmich was called offside.
-
Attempt failed. Matthijs Tell (FC Bayern Munich) took a right-footed shot from outside the box, but it missed the right side of the goal from a corner kick.
-
Corner, FC Bayern Munich. Alex Grimaldo conceded a goal.
-
Lukas Hradecki (Bayer 04 Leverkusen) is shown a yellow card.
-
Substitution, Bayer 04 Leverkusen. Jonas Hoffman replaces Amin Adli.