Bayern's 11th successive win in all competitions – which helped extend their league unbeaten run to 40 matches – was set up in the first half as Pep Guardiola's men silenced the Weserstadion crowd.

Playing his first match since cracking a rib for France on international duty last month, Franck Ribery helped Bayern into the lead after 21 minutes when his cross was deflected in by Werder defender Assani Lukimya-Mulongoti.

A towering Daniel Van Buyten header doubled their advantage six minutes later before the influential Ribery sealed the result with a composed finish before half-time.

And Mario Mandzukic wrapped up the rout on the hour mark as Bayern's latest win confirmed they would finish the year at the top of the league, before Thomas Muller, Ribery and Mario Gotze added more polish to the scoreline with late goals.

Son Heung-Min tormented Dortmund again as Leverkusen's best start to a Bundesliga season continued with a 1-0 triumph.

South Korea star Son helped former club Hamburg achieve a stunning double over Dortmund last season with two goals in each of their Bundesliga wins.

And he returned to haunt Jurgen Klopp by rounding Dortmund goalkeeper Roman Weidenfeller and scoring the game's only goal in the 18th minute at Signal-Iduna Park on Saturday after an error from former Leverkusen defender Manuel Friedrich.

Leverkusen defender Emir Spahic was sent off with 10 minutes left after a two-footed tackle on Robert Lewandowski, followed by a push at Henrikh Mkhitaryan, with Dortmund's Sokratis Papastathopoulos also given his marching orders in the dying stages.

The result deals a major blow to Dortmund's chances of winning the Bundesliga, with last year's runners-up already 10 points behind runaway leaders Bayern, while Leverkusen remain four behind in second.

Borussia Monchengladbach are now level on points with Dortmund after they came from behind to beat Schalke 2-1.

Jefferson Farfan's 17th-minute penalty gave Schalke the lead but strikes from Raffael and Max Kruse – the latter notching from a spot-kick – saw Monchengladbach moved seven points clear of the fifth-placed Schalke.

Other results on Saturday saw Stuttgart defeat Hannover 4-2, while Augsburg won 1-0 at Hamburg and Hoffenheim also enjoyed an away win, 2-1 against Eintracht Frankfurt.