Aurelien Tchouameni’s deflected strike was enough to secure Real Madrid a 1-0 win at Mallorca and keep them out on front at the top of LaLiga.
France midfielder Tchouameni broke the deadlock early in the second half as Real extended their unbeaten league run to 25 matches and after arch-rivals Barcelona’s win later on Saturday night, the gap remains eight points.
The two sides meet in El Clasico next Sunday and Barca also remain in top form as they made it six straight wins in all competitions after Joao Felix’s first-half overhead kick secured all three points in Cadiz.
Barcelona were indebted to goalkeeper Marc-Andre ter Stegen for their win as the German goalkeeper made two crucial saves to deny Cadiz pair Javi Hernandez and Diadie Samassekou.
Antoine Griezmann scored twice to help keep Atletico Madrid on course for the final Champions League spot after a 3-1 home win against Girona, who remain third.
Griezmann’s first-half penalty cancelled out Artem Dovbyk’s early opener for Girona and Angel Correa headed Atletico into the lead in stoppage time before the break.
France forward Griezmann added his 12th league goal of the season early in the second period as Girona slipped to their fifth defeat in eight league matches.
Rayo Vallecano edged six points clear of the relegation zone after being held 0-0 at home by Getafe.
In the Bundesliga, Bayern Munich got their domestic campaign back on track as second-half goals from Raphael Guerreiro and Thomas Muller sealed a 2-0 home win against Cologne.
It was a crucial win for Bayern, who had lost their previous two league matches, as Champions League rivals Stuttgart, Leipzig and Borussia Dortmund all won.
Dani Olmo, Benjamin Sesko and Lois Openda were on target for Leipzig in their 3-0 home win against Wolfsburg and Dortmund held on to win 2-1 at Borussia Monchengladbach despite the second-half dismissal of Germany winger Karim Adeyemi.
Marcel Sabitzer gave Dortmund the lead and then converted a penalty before Max Wober hit back for the hosts before the interval.
Adeyemi’s second yellow card left Dortmund with 10 men for most of the second period, but they held on.
Third-placed Stuttgart extended their unbeaten run to nine matches with a 3-0 home win against Eintracht Frankfurt.
Serhou Guirassy, Deniz Undav and Jamie Leweling were all on target in the first half for Stuttgart, who are level on points with Bayern.
Mainz boosted their survival hopes with a 4-1 home win over Hoffenheim, which made it 10 points from their last four matches and lifted them to within a point of Bochum, who drew 1-1 against Heidenheim.
In Serie A, Juventus failed to close the gap on second-placed Milan after they were held 0-0 by derby rivals Torino.
Juve have won only one of their last six domestic league matches and are five points behind Milan and 19 adrift of leaders Inter, with the top two both in action on Sunday.
Fourth-placed Bologna failed to capitalise on Juve’s dropped points as they were also held to a goalless stalemate at home against Monza, while Nicola Sansone’s late goal clinched Lecce a 1-0 home win against Empoli.
In Ligue 1, Reims’ hopes of European football next season were dealt a blow as they lost 3-1 at Strasbourg and Rennes had a setback in their bid for a top-six finish after losing 2-1 at home to Toulouse.