Strikes from Alex Grimaldo, Jeremie Frimpong and an own goal lifted Bayer Leverkusen to a 3-0 win at Werder Bremen on Saturday and a return to the top of the Bundesliga.

After Harry Kane scored the only goal in Bayern Munich's 1-0 victory over Cologne on Friday, Xabi Alonso's men started the match in second place but won comfortably and will end the weekend two clear atop the table.

The win continues Leverkusen's stunning run this season, with Alonso's side having won 17 and drawn one of their 18 fixtures in all competitions. 

Leverkusen's high-energy attack forced Bremen midfielder Olivier Deman into conceding an early own goal, the Belgian scuffing a pass into his own net. 

Frimpong added a second just before half-time, blasting into the top corner to give Leverkusen a comfortable lead. 

Bremen's Marvin Ducksch, fresh off making his Germany debut, looked to have cut the lead by scoring on the counter in the second-half, but the goal was chalked off by VAR as offside. 

Grimaldo sealed the result with a third with 15 minutes remaining for his fourth goal in his past three league matches. 

Leverkusen midfielder Granit Xhaka told Sky Germany "we are in a great dynamic. We are playing well and everything is going in the right direction at the moment."

"We have a team that listens, that pushes itself to the limit, and that's the only way to win."

Elsewhere Borussia Dortmund came from two goals down to win 4-2 at home against Borussia Moenchengladbach. 

Dortmund conceded after 13 minutes, Rocco Reitz slicing through some lazy defence and sliding home the opener. 

Gladbach doubled their lead shortly after, Manu Kone rocketing in a long-range shot. 

Dortmund, winless in the league since mid-October, then kick-started a remarkable turnaround, scoring twice in two minutes through Marcel Sabitzer and Niclas Fuellkrug to level the scores. 

Jamie Bynoe-Gittens gave Dortmund the lead shortly before halftime, the English teenager finding the corner of the net from a Fuellkrug pass.

Dortmund's Donyell Malen added a fourth in the final seconds of the second-half, going coast to coast from a Gladbach corner to seal the win.  

In the German capital, Union Berlin ended a nine-match losing streak in the league with a 1-1 draw against Augsburg.

Union were playing for the first time without coach Urs Fischer after the Swiss left by mutual agreement after over five years in charge.

Kevin Volland scored in the 88th minute to grab a point for Union after falling behind to an Ermedin Demirovic penalty before the break.

RB Leipzig were dealt a blow ahead of Tuesday's Champions League trip to Man City, losing 2-1 at Wolfsburg. 

Freiburg were held 1-1 at home by struggling Darmstadt. 

In Saturday's late game, Eintracht Frankfurt host Stuttgart.