Jude Bellingham struck his 17th goal of the season as Real Madrid returned to the top of LaLiga with a thumping 4-1 win over Villarreal at the Bernabeu.
Bellingham paved the way for the hosts to leapfrog previous leaders Girona – who face Alaves on Sunday – when he struck midway through the first half before Rodrygo doubled Real’s lead.
Jose Luis Morales reduced the deficit for the visitors but Real made sure of victory with further goals from Brahim Diaz and Luka Modric.
Real Sociedad stay in sixth place, just above rivals Real Betis after the two clubs ground out a goalless draw in San Sebastian, while the match between bottom club Almeria and Mallorca also finished goalless.
Chris Ramos scored a late equaliser as Cadiz sealed their fourth consecutive LaLiga draw against Las Palmas, for whom Pejino grabbed an early opener.
Inter Milan stretched their lead at the top of Serie A to four points after a 2-0 win over Lazio in Rome.
Lautaro Martinez pounced on a calamitous back-pass by home defender Adam Marusic to put his side in front and Marcus Thuram’s second-half effort sealed the points before Lazio had Manuel Lazzari sent off late on.
City rivals AC Milan strengthened their grip on third place as they coasted to a 3-0 win over Monza at San Siro.
A third-minute strike from Tijjani Reijnders paved the way for a comfortable victory, with Jan-Carlo Simic adding a second just before half time and Noah Okafor completing the scoring in the second half.
Bologna kept in touch in fourth place with a 2-0 win over Roma courtesy of Nikola Moro and a Rasmus Kristensen own goal, while a late Lucas Beltran effort saw Fiorentina edge struggling Verona 1-0, and Udinese and Sassuolo shared the points in a 2-2 draw.
Harry Kane scored twice as Bayern Munich erased the memory of last weekend’s shocking 5-1 defeat at Eintracht Frankfurt with a 3-0 win over fourth-placed Stuttgart.
Kane hit the opener after just two minutes and doubled his tally early in the second half before Kim Min-Jae completed the scoring for the revived hosts.
But Bayer Leverkusen maintained their four-point lead by succeeding where Bayern failed and thumping Frankfurt 3-0 at the BayArena, with goals from Victor Boniface, Jeremie Frimpong and Florian Wirtz.
Freiburg claimed a 2-0 win over struggling Koln who had Julian Chabot sent off for two bookable offences midway through the second half.
Paris St Germain were denied an eighth successive Ligue 1 win as they were held to a 1-1 draw by Lille at the Stade Pierre-Mouroy.
Kylian Mbappe’s 66th-minute effort looked set to send his side to another victory but Jonathan David fired home in the fourth minute of injury time to salvage a point and protect fourth place.
In-form Brest were 2-0 winners at Nantes, while Marseille laboured to a 2-1 win at home to bottom club Clermont.
Strasbourg won 2-1 at Lorient, Montpellier edged a 1-0 win at Metz, while Toulouse and Rennes battled out a stalemate.