Real Madrid returned to the top of the LaLiga table with a 2-0 win against struggling Granada.
Rodrygo continued his impressive scoring streak with his seventh goal in his last five Real appearances to seal victory at the Bernabeu following Brahim Diaz’s first-half opener.
It means Real are now tied on 38 points with Girona at the top after Cristhian Stuani’s late brace saw the latter beat Valencia 2-1.
Hugo Duro gave Valencia the lead and they looked set to see out the win, but Stuani levelled in the 82nd minute before completing the comeback by scoring the winner six minutes later.
Osasuna and Real Sociedad settled for a 1-1 draw, while Athletic Bilbao moved into fifth in the table after beating Rayo Vallecano 4-0.
Gorka Guruzeta put them ahead in the first half and they extended their lead after half-time when Alfonso Espino turned the ball into his own net before brothers Inaki Williams and Nico Williams struck in quick succession.
In Serie A, Luka Jovic scored his first AC Milan goal as they beat Frosinone 3-1 at San Siro.
Christian Pulisic scored a superb individual effort and Fikayo Tomori wrapped up the win before Marco Brescianini scored a late consolation for the visitors.
Pedro handed Lazio a 1-0 win against Cagliari, who were reduced to 10 men in the 27th minute when Antoine Makoumbou was sent off.
Matteo Cancellieri earned a point for Empoli as they drew 1-1 with Genoa, who had led through Ruslan Malinovskyi.
Stuttgart closed the gap at the top of the Bundesliga with a 2-0 win against Werder Bremen.
Deniz Undav and Sehrou Guirassy were both on target for Stuttgart, who remain third in the table but are now two points away from second-placed Bayern Munich whose game against Union Berlin was cancelled due to snow.
RB Leipzig sit just behind Stuttgart in fourth following a 2-1 win over Heidenheim, going ahead through Lois Openda and Yussuf Poulsen before Benedikt Gimber pulled one back.
Nathan Ngoumou scored the winner as Borussia Monchengladbach beat Hoffenheim 2-1, while Bochum earned their first home league win of the season with a 3-1 victory against Wolfsburg.
In Ligue 1, Florent Mollet’s goal was the difference for Nantes to beat Nice 1-0, while Lens bounced back from their midweek Champions League thrashing to Arsenal with a 3-2 win against struggling Lyon.
Jake O’Brien gave Lyon the lead, but Wesley Said levelled before Przemyslaw Frankowski’s spot-kick put Lens ahead.
O’Brien equalised in the 72nd minute but Frankowski restored the lead four minutes later and despite going down to 10 in the 90th minute when Florian Sotoca was sent off, Lens held on to heap more misery on bottom-of-the table Lyon.