Cristiano Ronaldo scored a hat-trick as Real Madrid moved into third place following a 5-2 thumping of Real Sociedad at the Bernabéu. Ronaldo set up Lucas Vázquez for his first-minute opener before going on to add the second himself just before the half-hour mark.

Toni Kroos fired Real’s third in the 34th minute with Ronaldo notching his second – and the hosts’ fourth – three minutes later. Jon Bautista pulled one back for Sociedad in the 74th minute but Ronaldo was again on target 10 minutes from the final whistle. Asier Illarramendi added the visitors’ second in the 83rd minute but it was too little, too late.

Atlético Madrid closed the gap on the La Liga leaders Barcelona to six points with a narrow 1-0 victory at bottom club Málaga. Antoine Griezmann struck the only goal of the game inside 40 seconds, latching on to Saúl Ñíguez’s deflected volley to find the top-right corner. Struggling Málaga never really threatened to salvage anything from the game and remain seven points from safety.

Earlier in the day, Alavés moved seven points clear of the relegation zone with a 2-1 win at Villarreal, and Eibar were 1-0 winners at Leganés thanks to Iván Ramis’s stoppage-time winner.

Robert Lewandowski equalled a 45-year record as Bayern Munich’s march towards another Bundesliga title continued with a 2-1 win against Schalke that keeps them 18 points ahead of RB Leipzig in second. Lewandowski’s sixth-minute opener at the Allianz Arena saw him match the current Bayern manager Jupp Heynckes’s record of scoring in each of Borussia Mönchengladbach’s first 11 home fixtures during the 1972-73 season.

Lewandowski’s 19th league goal of the season was cancelled out just before the half-hour by Schalke’s Franco Di Santo, However, the hosts got the game’s decisive third goal in the 36th minute when Arjen Robben played in Thomas Müller and the Germany international beat Ralf Fährmann at his near post.

Earlier on Saturday, Bayer Leverkusen’s hopes of earning a place in next season’s Champions League were dealt a blow by a 2-0 home defeat to Hertha Berlin and the on-loan Chelsea striker Michy Batshuayi continued his good start to life with Borussia Dortmund as he scored in the 2-0 defeat of struggling Hamburg.

Three goals in eight second-half minutes proved decisive as Eintracht Frankfurt defeated Cologne 4-2. Hoffenheim ended their recent poor run with victory by the same margin at home to Mainz, and Hannover defeated Freiburg 2-1.

Napoli came from behind to produce a stunning 4-1 victory against Lazio to storm back to the top of the Serie A table. Juventus, who have won the last six league titles, returned to the summit following Friday’s 2-0 triumph at Fiorentina but a dominant second-half showing by Maurizio Sarri’s side ensured the Bianconeri moved back into second, despite having dropped just 10 points this season.

The Holland international centre-back Stefan de Vrij fired the visitors in front with a powerful strike from close range following great work from the striker Ciro Immobile. However, Napoli equalised two minutes before the break through José Callejón’s composed finish after Jorginho found the Spaniard with a wonderful lofted pass.

The hosts moved ahead for the first time in the match when Lazio defender Wallace put the ball through his own goal nine minutes after the restart before Mario Rui’s first goal in top-flight football moved Napoli further ahead moments later. Dries Mertens added gloss with his 19th goal of the season in all competitions after Piotr Zielinski picked out the Belgium international to slot home and seal their eighth consecutive league win.

The academy graduate Patrick Cutrone scored twice as AC Milan breezed to a 4-0 success at SPAL to extend their unbeaten league run to six matches, while Atalanta rescued a 1-1 draw late on at the Stadio Ezio Scida against relegation-threatened Crotone.

Paris St Germain extended their lead at the top of Ligue 1 to 12 points following a 1-0 victory at struggling Toulouse, with Neymar scoring his 19th goal of the season. Stevan Jovetic netted a brace as Monaco moved up to second with a comprehensive 4-0 win at the relegation-threatened Angers.