Borussia Dortmund returned to winning ways in the Bundesliga in convincing fashion with a 6-1 thumping of Cologne.

Dortmund suffered the disappointment of going out of the Champions League to Chelsea and were then held to a draw by struggling Schalke last weekend.

But they were back on form on Saturday evening and led 4-0 inside 40 minutes through Raphael Guerreiro, Sebastien Haller, Marco Reus and Donyell Malen.

Davie Selke pulled one back for the beleaguered visitors before half-time but Haller completed his first brace since recovering from cancer in the 69th minute and Reus added the final goal a minute later.

The victory took Dortmund to the top of the table for one night at least, with Bayern Munich due to face Bayer Leverkusen on Sunday.

RB Leipzig’s miserable week was compounded by a 1-0 loss to Bochum that leaves them eight points adrift of Dortmund.

Four days after they were hit for seven by Manchester City in the Champions League, they were undone by Erhan Masovic’s goal just after half-time, earning a precious three points for strugglers Bochum.

Bochum’s Erhan Masovic celebrates netting the winner against RB Leipzig
Bochum’s Erhan Masovic celebrates netting the winner against RB Leipzig (David Inderlied/dpa via AP)

Wolfsburg boosted their top-six hopes with a 1-0 victory over Stuttgart, Omar Marmoush scoring the only goal, while Hoffenheim climbed out of the bottom three thanks to a 3-1 win against fellow strugglers Hertha Berlin, who replaced them.

Andrej Kramaric netted two first-half penalties and Ihlas Bebou scored just after half-time, with Stevan Jovetic managing a late consolation after Mu’nas Dabbur was sent off for Hoffenheim.

Marius Bulter’s injury-time penalty earned Schalke another important point in their fight against relegation in a 1-1 draw with Augsburg, who had Ermedin Demirovic sent off just after Arne Maier had given them the lead early in the second half.

In Spain, Atletico Madrid were comfortable 3-0 winners over struggling Valencia. Antoine Griezmann opened the scoring in the 23rd minute, Yannick Carrasco doubled the advantage just after half-time and Thomas Lemar added a 67th-minute third.

Celta Vigo boosted their European hopes with a 3-1 victory over Espanyol – Gabri Veiga, Iago Aspas and Carles Perez scoring their goals.

Viktor Tsyhankov equalised twice as Girona earned a 2-2 draw with Rayo Vallecano while Almeria levelled deep into injury time in a 1-1 draw against Cadiz.

In Serie A, AC Milan missed the chance to climb into second as they fell to a 3-1 defeat against Udinese.

Roberto Pereyra put Udinese ahead in the ninth minute, and an eventful period of first-half injury time saw Zlatan Ibrahimovic equalise from the penalty spot only for Beto to restore the home side’s lead.

Udinese’s Beto scores their second goal against AC Milan
Udinese’s Beto scores their second goal against AC Milan (Andrea Bressanutti/LaPresse via AP)

Kingsley Ehizibue made sure of the points for Udinese with a third in the 70th minute.

Bologna were held to a 2-2 draw by Salernitana. It was the 16th-placed hosts who twice took the lead through Lorenzo Pirola and Boulaye Dia but Bologna levelled both times, Scot Lewis Ferguson and Charalampos Lykogiannis finding the net.

Carlos Augusto cancelled out Daniel Ciofani’s opener as Monza and Cremonese drew 1-1.

Lois Openda scored twice as Lens climbed to second place in Ligue 1 with a 3-0 victory over Angers. Seko Fofana had opened the scoring, with the bottom side offering little resistance.

Lille moved up to fifth with a 2-0 victory at Toulouse. They had to wait until the 85th minute to make the breakthrough, Alexsandro netting, and Mohamed Bayo grabbed the second deep into injury time.