Berlin (AFP) – Franck Ribery netted a rare Bundesliga goal as Bayern Munich eased to an eighth consecutive league victory with a 2-0 win over Mainz on Saturday.

After a sluggish first half-hour, the veteran Frenchman put Bayern ahead on 33 minutes. Picking up a poorly cleared corner at the edge of the box, he released a fizzing half-volley to score only his second league goal of the season.

James Rodriguez then doubled the lead just before half-time, elegantly bringing the ball down on his chest before volleying it past Robin Zentner.

The win saw Bayern extend their lead at the top of the table to 18 points after second-placed Bayer Leverkusen were held to a 0-0 draw in Freiburg.

Lucas Alario hit the post for Leverkusen early in the game, but there were more yellow cards than chances, as seven players were booked and Freiburg once again frustrated a top team.

Leverkusen, though, remain in second after Schalke once again dropped points. Both teams profited from goalkeeping errors in Gelsenkirchen, as a late goal saw Werder Bremen snatch a surprise 2-1 victory.

A catastrophic mistake from Jiri Pavlenka gifted Schalke the lead on 24 minutes. Yevhen Konoplyanka’s speculative effort flew straight at the Bremen goalkeeper, who allowed the ball to slip through his fingers.

With 11 minutes to go there was more farcical goalkeeping as Ralf Faehrmann allowed Max Kruse to equalise for Bremen.

After Matija Nastasic was sent off for a second bookable offence, Faehrmann fumbled the resulting free-kick, allowing the ball to bounce out of his hands and into the path of Kruse.

It would get worse for Schalke in stoppage time, as Zlatko Junuzovic stabbed a loose ball past Faehrmann to claim a dramatic and invaluable victory for relegation-threatened Bremen.

Elsewhere in the lower half of the table, Mario Gomez scored against his former club to rescue a point for VfB Stuttgart, as they welcomed new coach Tayfun Korkut with a 1-1 draw in Wolfsburg.

Liverpool loanee Divock Origi put Wolfsburg in front on 24 minutes, curling a long-range shot into the bottom corner.

Gomez, who left Wolfsburg for Stuttgart in January, levelled the scores on the hour mark, prodding the ball home from close range.

In Saturday’s other game, Hoffenheim extended their winless run to five matches after throwing away a 1-0 lead to draw at Hertha Berlin.

Andrej Kramaric gave Hoffenheim the lead from the penalty spot on 39 minutes, but Salomon Kalou’s header drew the home side level just before the hour mark.

On Friday, Michy Batshuayi scored twice on his debut for Borussia Dortmund after joining on loan from Chelsea as his new club won 3-2 at bottom side Cologne.