Lamine Yamal scored his first career hat-trick as La Liga leaders Barcelona coasted to a 4-1 win over Villarreal.
Yamal took his league tally for the season to 13 goals and Robert Lewandowski wrapped things up in stoppage time.
Papa Gueye had given Villarreal hope just after half-time, but Hansi Flick’s side – in his 100th game in charge – comfortably extended their 100% home league record to move four points clear of Real Madrid.
Julian Alvarez struck in stoppage time as Atletico Madrid snatched a 1-0 win at bottom club Real Oviedo to move back above Villarreal into third.
Real Sociedad won 1-0 at Mallorca through a first-half goal from Carlos Soler to keep themselves in the mix for the European places, while Athletic Bilbao drew 1-1 at Rayo Vallecano.
Joshua Kimmich hit a late winner after Harry Kane scored a brace as Bayern Munich beat Borussia Dortmund 3-2 in a dramatic edition of Der Klassiker to go 11 points clear at the top of the Bundesliga.
Dortmund skipper Nico Schlotterbeck had headed the hosts in front against the run of play in the 26th minute.
England captain Kane then levelled in the 54th minute and then dispatched a penalty for his 45th goal of the season for Bayern – and 30th in the league.
Dortmund hauled themselves level with seven minutes left when Daniel Svensson produced a lovely finish to turn in a deep ball from Marcel Sabitzer.
It was the Bayern fans, though, who were left with bragging rights again when Kimmich volleyed home in the 87th minute.
Third-placed Hoffenheim failed to make up ground on Dortmund as they slipped to a 1-0 home defeat against St Pauli, with Mathias Pereira Lage's goal on the stroke of half-time proving decisive.
Inter Milan moved 13 points clear at the top of Serie A after a 2-0 victory over Genoa at San Siro, Federico Dimarco scoring a fine volley and Hakan Calhanoglu slotting in a second-half penalty.
Romelu Lukaku came off the bench to score a dramatic winner deep in added time as Napoli battled to a 2-1 victory at bottom club Verona.
Rasmus Hojlund’s early header had been cancelled out by Jean-Daniel Akpa Akpro’s first goal for Verona just after the hour.
Como continued their push to break into the top four with a 3-1 home win over strugglers Lecce.
Bradley Barcola’s first-half goal was enough for Paris Saint-Germain to move four points clear at the top of Ligue 1 with a 1-0 win at Le Havre.
Rennes beat Toulouse 1-0 at Roazhon Park for a third straight league win, while Monaco closed on the top six after a 2-0 victory over Angers.