Bayern Munich suffered their first defeat for three months when the Bundesliga leaders lost 2-1 at home to Mainz. The Colombian Jhon Córdoba snatched the winner in the 86th minute.

Pep Guardiola’s team gave a lacklustre display and Mainz, who are fifth in the table, went 1-0 up when Jairo Samperio arrived at the far post to hammer Giulio Donati’s cross past Manuel Neuer in the 26th minute.

Bayern, who were last beaten by Borussia Mönchengladbach on 5 December, equalised with a 25-metre drive from Arjen Robben in the 64th minute. The winger was set up by Arturo Vidal and Robben controlled the ball before hitting a thunderous left-foot shot to score his first goal since November.

Bayern pushed for a second goal but Mainz hit them on the break when Daniel Brosinski found Julian Baumgartlinger and his cutback was converted from the edge of the area by Córdoba.

“The game was a clear indication that it’s not easy to win in the Bundesliga,” said the Bayern coach, Pep Guardiola. “Congratulations to Mainz for the victory. In the second half it wasn’t easy, with 10 players in their penalty area, but we had enough chances to win the game. We still have much work to do to defend our title.”

Bayern are on 62 points while Borussia Dortmund have 57 after they beat SV Darmstadt 2-0.

Adrian Ramos’ first-half header gave Dortmund a 38th-minute lead at Darmstadt, the striker flicking Gonzalo Castro’s fine curling ball past Christian Mathenia, before Erik Durm finished from close range after more good work by Castro.

“The victory gives us an enormous boost,” said the Dortmund coach, Thomas Tuchel. Dortmund play Bayern on Saturday.

Gladbach remained fourth on 39 points after outclassing Stuttgart 4-0 while Schalke 04 defeated Hamburg SV, who had Johan Djourou sent off in the 45th minute, 3-2.

Bayer Leverkusen lost 4-1 at home to Werder Bremen while relegation-threatened Hoffenheim sank Augsburg 2-1 with Mark Uth grabbing the 81st-minute winner.