The champagne remains on ice for Bayern Munich after Mainz denied them the chance to celebrate a ninth successive Bundesliga title with a 2-1 victory at the Coface Arena.
Two first half goals were enough to secure an eighth win in 16 games for Bo Svensson's side, who have reinvigorated their survival push. Bayern failed to inspire themselves and must now wait to mark another remarkable chapter in their domestic dynasty.
Mainz grabbed the lead after just three minutes through Jonathan Burkardt. He swivelled and fired past Manuel Neuer in a flash, after an initially forceful start by Bayern.
Bayern ease to win at Hertha Berlin
Neuer was alert to deny a second for Mainz soon after, when Danny Latza's header almost crept into the corner.
The returning Robert Lewandowski looked a shadow of himself after a knee injury, and perhaps if he was fully fit, he would have converted his only chance in the first half. After 15 minutes, a mistake in the hosts' backline afforded him a strike at goal, but it sailed over the bar.
At the other end, Robin Quaison saw a shot blocked by Neuer and cleared by Alphonso Davies. Mainz pressure continued and paid off when the Swede headed home from Philippe Mwene's free kick after he was brought down by Jerome Boateng eight minutes before half time.
Hansi Flick made changes at the break, introducing Jamal Musiala, Eric-Maxim Choupo-Moting and Nianzou Kouassi. Mainz suffered a blow when their first goalscorer Burkardt, who had been consistently fouled, was withdrawn for Levin Oztunali.
But Mainz's defence was barely troubled and Flick's side couldn't build momentum. Lewandowski cut a frustrated figure as he failed to guide Musiala's cross on target, and it wasn't long until Serge Gnabry was introduced.
Eric Maxim Choupo-Moting headed a Joshua Kimmich cross straight at Robin Zentner, who was largely unthreatened despite masses of Bayern possession.
Leandro Barreiro snatched at a shot late on in a rare Mainz attack, and Lewandowski netted his 36th league goal of the season with the last kick of the game.
TALKING POINT - Bayern frustrated in title hunt as Mainz continue to climb
Bayern will take the headlines for the wrong reasons, but it is only a matter of time until they get their hands on another title. They didn't show up, but Mainz were superb both going forward in the first half and defensively in the second. They shut down the wide areas excellently, nullifying the likes of Alphonso Davies, Kingsley Coman and Leroy Sane.
MAN OF THE MATCH - Robin Quaison (Mainz)
There were a few candidates for Mainz in truth. Burkardt was phenomenal in the first half and Karim Onisiwo wotked tirelessly. But the former was forced off at half time, so it is Quaison who gets the nod. He was a handful alongside his strike partner before defending from the front when required.
Mainz: Zentner 7, Niakhate 7, Hack 7, St Juste 6, Mwene 8, Barreiro 7, Latza 7, da Costa 7, Quaison 8, Burkardt 8, Onisiwo 7 Substitutes: Oztunali 5, Boetus 6, Brosinski n/a, Kohr n/a
Bayern Munich: Neuer 5, Davies 5, Pavard 5, Boateng 5, Kimmich 5, Goretzka 5, Alaba 6, Coman 5, Muller 6, Sane 5, Lewandowski 6 Substitutes: Musiala 6, Choupo-Moting 6, Nianzou 5, Gnabry n/a
3' GOAL! MAINZ LEAD. What a strike by Burkardt, who swerves and gives Neuer no chance.
37' - GOAL! It's two! Mwene's free kick is whipped in, and Quason beats Muller in the air to power a header home.
90' + 4 - GOAL! Lewandowski grabs a consolation goal for Bayern.
Bayern's late goal stretches their goalscoring record to 68 consecutive matches in all competitions.
Rampant Bayern rip through Cologne after milestone Lewandowski hat-trick
Coman extends Bayern Munich contract until 2027
1. FSV Mainz 05
FC Bayern Munich