BERLIN -- Unbeaten Bayern Munich cruised past Werder Bremen 7-0 for the side's 13th win from 15 games in the Bundesliga on Saturday, while Bayer Leverkusen won 1-0 at Borussia Dortmund.
Bayern winger Franck Ribery marked his league return after recovering from a cracked rib by scoring two goals and setting up two more as the league leaders inflicted the heaviest home defeat on Bremen in the Bundesliga.
"It was the most frustrating game for me since I've been at Werder," Bremen captain Clemens Fritz said.
Bremen defender Assani Lukimya turned Ribery's cross beyond his own goalkeeper in the 21st minute, Daniel van Buyten rose above two defenders to head Toni Kroos' free kick inside the left post six minutes later, and Thomas Mueller crossed to give Ribery a simple finish in the 38th.
Ribery then crossed for Mario Mandzukic to score on the hour, and Mario Goetze set up Mueller to make it 5-0 in the 68th.
Ribery claimed his second goal in the 82nd, when former Bremen striker Claudio Pizarro sent David Alaba through with his heel and the young Austrian pulled the ball back for the Frenchman to crown his performance. Mueller crossed for Goetze to wrap up the scoring from a difficult angle in the 90th.
"We're all happy," Ribery said.
Bayern stretched its Bundesliga record unbeaten run to 40 games.
"Today it was an honour to be a coach here," said Bayern's Pep Guardiola, who became the first coach in the Bundesliga not to lose any of his first 15 games.
"Personally, it's not special for me," the former Barcelona coach said of the record.
Son Heung-min's 18th-minute strike was enough for second-place Leverkusen to inflict Dortmund's second successive defeat at home in the Bundesliga.
Former Leverkusen defender Manuel Friedrich's wayward pass from defence was intercepted by Emre Can. Can passed to Gonzalo Castro who fed Son, who rounded Dortmund goalkeeper Roman Weidenfeller and scored from a narrow angle.
Dortmund improved after the break but laboured to break down Leverkusen's well-drilled defence.
Leverkusen defender Emir Spahic was sent off in the 81st for pushing Henrikh Mkhitaryan in the face. Mkhitaryan took issue with Spahic's heavy challenge on Robert Lewandowski.
Dortmund also finished with 10 men after Sokratis received his second yellow card in injury time.
Dortmund's injury worries increased with both Sven Bender and Nuri Sahin taken to hospital with ankle injuries.
Earlier, Borussia Moenchengladbach defeated 10-man Schalke 2-1 to consolidate fourth place.
Stuttgart beat Hannover 4-2, Augsburg won 1-0 at Hamburger SV though Raul Bobadilla's 18th-minute strike, and Hoffenheim won 2-1 at Eintracht Frankfurt to leave the home side 10 league games without a win.
Hoffenheim striker Sven Schipplock scored after the break, in-form Spanish striker Joselu -- on loan from Hoffenheim -- equalized two minutes later, and Schipplock set up Roberto Firmino to score three minutes after that.
"We don't have the cleverness and serenity you get when you're successful," Frankfurt coach Armin Veh said.
Schalke took the lead in Moenchengladbach through Jefferson Farfan's penalty in the 17th. The spot kick was awarded after Julian Korb hauled back Kevin-Prince Boateng in the area.
Raffael equalized against his former side seven minutes later with a stunning strike inside the far top corner from some 20 metres (yards).
It got worse for the visitors before the break when Benedikt Hoewedes conceded a penalty and received his second yellow card for blocking Max Kruse's shot with his arm. Kruse duly converted the spot kick to leave the home fans singing into the interval.
'Gladbach held on for its sixth win in a row -- the club's best run for 26 years -- while Schalke coach Jens Keller is under increasing pressure after his side also lost in the German Cup on Tuesday.
Schalke chairman Clemens Toennies indicated Keller's job was not immediately on the line.
"We now have other very important games ahead of us. The question of the coach is not for now. It's about getting wins in the next games," said Toennies, whose side must beat Basel at home on Wednesday to remain in the Champions League.
Ibrahima Traore broke the 2-2 deadlock for Stuttgart in the 52nd, and Konstantin Rausch secured the result against his former Hannover side with a fine finish in the 84th.
"This is very annoying," Hannover coach Mirko Slomka said.