Harry Kane fired a late winner as Bundesliga champions Bayern Munich hit back from 3-0 down at Mainz to win 4-3 and extend their lead at the top of the table to 18 points.
Kane stepped off the bench at half-time and scored his 33rd league goal of the season in the closing stages to complete Bayern’s remarkable fightback.
Vincent Kompany’s side trailed 3-0 at the break after goals from Mainz trio Dominik Kohr, Paul Nebel and Sheraldo Becker.
But after Nicolas Jackson had reduced the deficit early in the second period, substitutes Michael Olise and Jamal Musiala hauled Bayern level before Kane clinched their 26th win from 31 league games this season.
The England captain now has scored 58 goals in all competitions for club and country this season, while he is eight short of Robert Lewandowski’s Bundesliga record of 41 goals in a season, set in 2021-22, with three league games remaining.
With several key players, including Kane, Jonathan Tah, Musiala and Olise, starting on the bench, Bayern were swept away in the first half after Mainz took a 15th-minute lead.
Kaishu Sano provided the cross and midfielder Kohr crashed his finish from inside the penalty area into the top corner.
Phillipp Mwene, Becker and Nadiem Amiri were all denied by Bayern goalkeeper Jonas Urbig before Silvan Widmer’s shot from outside the box flew inches wide.
Amiri was thwarted again by Urbig before Mainz caught the visitors on the break to score their second, with Nebel sliding home a cross from inside the area in the 29th minute.
Bayern did not threaten until the 40th minute when Alphonso Davies fired narrowly off target, but the champions found themselves 3-0 down before the break.
Urbig produced another fine save in the top corner to deny Amiri for a third time, but when Bayern failed to clear a corner, Becker turned home from close range to put Mainz firmly in control.
Kane and Olise replaced Aleksandar Pavlovic and Luis Díaz respectively for the start of the second period and Bayern improved.
Jackson pulled one back in the 53rd minute from Konrad Laimer’s cross and the Senegal striker went close to a second as his effort following Leon Goretzka’s through-ball was saved by Mainz goalkeeper Daniel Batz.
Laimer then laid on the assist for Olise to lash Bayern’s second into the roof of the net and set up a grandstand finish with 17 minutes left.
Mainz began to creak as Bayern pushed for an equaliser and the visitors struck twice more in the space of three minutes to turn the game on its head.
Musiala, who had earlier replaced Raphaël Guerreiro, turned the ball home from close range in the 80th minute and Kane drilled home an angled finish from six yards in the 83rd.
Mainz scrambled to rescue a point as Lennard Maloney twice had efforts blocked and Sano shot narrowly wide, but Bayern saw the game out to secure all three points.
