Real Madrid restored their eight-point lead at the top of LaLiga as they beat city rivals Atletico 2-0 to claim their 10th straight win in all competitions.
Karim Benzema opened the scoring with a brilliant 16th-minute volley and Marco Asensio added the second to leave fourth-placed Atletico trailing their rivals by 13 points.
A late strike from Ezequiel Avila denied Barcelona a much-needed win as Osasuna twice fought back from behind to claim a 2-2 draw at the Estadio El Sadar.
Nico Gonzalez’s early opener for Xavi’s men was immediately cancelled out by David Garcia before Abde Ezzalzouli put the visitors back in front just after the break.
But Avila lashed home the equaliser following a corner in the 86th minute to keep Barcelona off the pace in eighth place in the table.
Real Betis consolidated third place as they cruised to a 4-0 win over Real Sociedad.
Alex Moreno scored twice to start and finish the one-sided affair, with further goals from Juanmi and Nabil Fekir boosting Betis’ push for Europe.
Aissa Mandi’s opener and a first-half penalty from Gerard Moreno saw Villarreal beat Rayo Vallecano 2-0 for their first LaLiga win in four games.
Lautaro Martinez scored twice as Inter Milan moved back to the top of Serie A with a crushing 4-0 win over struggling Cagliari at San Siro.
Martinez headed the opener then saw a penalty saved before Alexis Sanchez doubled Inter’s advantage early in the second half.
Hakan Calhanoglu fired a superb long-range effort in the 66th minute before Martinez cleverly completed the scoring two minutes later.
Atalanta moved up to third place as they claimed their sixth straight Serie A win with a hard-fought 2-1 triumph at Verona.
Giovanni Simeone put the hosts in front in the 22nd minute but Aleksey Miranchuk levelled before the break, and Teun Koopmeiners grabbed the winner just past the hour mark.
Atalanta benefited from a shock loss for Napoli, who started the day in third place but were undone by a fluke Patrick Cutrone goal in a 1-0 home defeat to Empoli.
Napoli largely dominated but Cutrone grabbed the points when an attempted clearance ricocheted into the net off the back of his head 20 minutes from time.
Goals from Domenico Berardi and Giacomo Raspadori in the final half-hour saw Sassuolo wipe out an early Mattia Zaccagni effort and beat Lazio 2-1.
Torino beat Bologna by the same score, Arnaldo Sanabria’s goal and an Adama Soumaroro own goal giving them the points before Riccardo Orsolini’s late penalty consolation.
Kylian Mbappe scored twice in the first half as Ligue 1 leaders Paris St Germain eased to a 2-0 home win over Monaco.
The win extended PSG’s cushion at the top of the table to 13 points and ended Monaco’s eight-game unbeaten streak in all competitions.
Marseille took over second place in Ligue 1 as late goals from Bamba Dieng and Duje Caleta-Car saw them to a 2-0 win at Strasbourg.
Their win moved them above Rennes, who lost 2-1 at home to Nice, for whom a Kasper Dolberg penalty and a 51st-minute effort from Youcef Atal consolidated fourth place.
Lille and Lyon ground out a goalless draw, Metz boosted their survival hopes by thumping fellow strugglers Lorient 4-1, and Hwang Ui-Jo’s winner saw Bordeaux triumph 2-1 at Troyes.
In the Bundesliga, third-placed Bayer Leverkusen blew a 2-0 lead to fall 5-2 at Eintracht Frankfurt, while bottom club Greuther Furth finally claimed their first win of the season as Havard Nielsen’s 55th-minute effort gave them a 1-0 win over Union Berlin.