England captain Harry Kane and Mathys Tel both hit the post in a frustrating first half for Bayern Munich, who needed at least a point to postpone Bayer Leverkusen’s Bundesliga title celebration.
However, goals from Raphael Guerreiro and Thomas Muller secured a crucial victory for Bayern.
The result leaves Bayern Munich trailing Bayer Leverkusen by 13 points with only five games remaining in the season.
Bayer Leverkusen, managed by Xabi Alonso and currently unbeaten in the league, will clinch their first German title by defeating Werder Bremen on Sunday. Bayern Munich has dominated the Bundesliga, winning 11 consecutive titles since Borussia Dortmund’s triumph in 2011-12.
Despite Harry Kane’s impressive record of 32 goals in 29 league games, Bayern’s grip on the trophy appears to be slipping away.
Raphael Guerreiro broke the deadlock with a long-range strike in the 65th minute, following a corner from Joshua Kimmich. Thomas Muller then sealed the win with a late goal in stoppage time against Cologne, who are struggling near the bottom of the table.
Bayer Leverkusen, who were in the relegation zone when Alonso took charge in October 2022, are poised for a remarkable season, aiming for a treble with a German Cup final against Kaiserslautern and a strong performance in the Europa League. They are also on the verge of setting a new Bundesliga record for the most games unbeaten from the start of a season (29), pending their match against Werder Bremen.