Alex Grimaldo scored as Bayer Leverkusen beat Bayern Munich 3-0 on Saturday to open up a five-point lead at the top of the Bundesliga.
It's carnival season in the Rhineland, and Leverkusen fans, many of them in costume, had plenty to celebrate as Xabi Alonso's team proved their title credentials.
It was Leverkusen's 31st game this season without a loss in all competitions, a remarkable campaign for a team which were in the relegation zone when Alonso took charge in October 2022.
After a kickoff delayed by fan protests, it was a Bayern player who scored the first goal — but he wasn't playing for Bayern.
Right back Josip Stanišić, sent out on loan to Leverkusen at the start of the season, popped up at the far post to score off Robert Andrich's low cross in the 18th minute after Bayern seemed to be taken by surprise by Leverkusen's quick throw-in routine.
Stanišić put his hands up in apology and barely celebrated his first Bundesliga goal in nearly two years, though his teammates certainly did.
Leverkusen made it 2-0 with an incisive counter early in the second half, Grimaldo sprinting down the left flank and playing a one-two with Nathan Tella before lofting a shot over goalkeeper Manuel Neuer.
Jeremie Frimpong added a third in stoppage time into the empty net after Neuer had gone up for a Bayern corner.
Bayern Munich's top goal-scorer Harry Kane was hurt by the loss. After the match he said, "We're five points behind now. But there's still a lot of games to go. This one hurts. We wanted a different outcome. But we have to focus first on the Champions League and then obviously the next game. There's a lot of games to be played. We have to try to make up as many points as we can as quick as we can."