Lionel Messi scored four goals as Barcelona thrashed Eibar 5-0 at the Camp Nou. The Argentinian had not scored in his previous four games but put the Spanish champions ahead in the 14th minute by dancing and barging his way past three players to slot home the opener.
He doubled the lead in the 37th with an equally impressive strike before completing his treble moments later with a tap-in. Messi then tormented the Eibar defence and walked the ball into the net for his fourth goal with just three minutes remaining before Arthur Melo scored the home side’s fifth in the 89th minute as he netted a rebound following a shot by new signing Martin Braithwaite.
The result takes Barça top of La Liga after Real Madrid suffered a shock 1-0 defeat at Levante. José Luis Morales struck a thunderous shot 11 minutes from time to give his side all three points.
Ten-man Celta Vigo won 1-0 at home to Leganés despite the visitors making a promising start. Leganés received a boost when Filip Brandaric received a red card in the 21st minute for a studs-up tackle on Unai Bustinza. But Iago Aspas guided a near-post free-kick into the far corner of the net in the 62nd minute to give the hosts victory.
Meanwhile, Real Sociedad beat Valencia 3-0 in the chase for Champions League places. Mikel Merino, Nacho Monreal and Adnan Januzaj scored the goals for the home side.
In Germany, Erling Braut Haaland’s remarkable scoring run continued as Borussia Dortmund won 2-0 at Werder Bremen. The in-form striker combined with Achraf Hakimi to score his ninth Bundesliga goal in six games to seal victory in the 66th minute. Dan-Axel Zagadou had volleyed the visitors in front following a Jordan Sancho corner early in the second half.
RB Leipzig, fresh from their Champions League last-16 first-leg win at Tottenham, reduced Bayern Munich’s lead at the top back to one point after a 5-0 thrashing of Schalke.
The goalkeeper Alex Nübel misjudged a Marcel Sabitzer shot after just 50 seconds, which gave the visitors the lead. Leipzig had to wait until the 61st minute to extend their advantage when Timo Werner’s deflected shot made it 2-0 and then the floodgates opened.
Marcel Halstenberg added a third six minutes later before Angeliño and Emil Forsberg completed the rout.

In Italy, league leaders Juventus claimed a narrow 2-1 win at SPAL as Cristiano Ronaldo marked his 1,000th senior match with a goal after he expertly fired Juan Cuadrado’s right-wing cross into the net six minutes before the break.
Aaron Ramsey then dinked the ball home on the hour mark following Paulo Dybala’s beautifully weighted pass to make it 2-0.
But SPAL gave themselves a lifeline nine minutes later when Simone Missiroli went down under a challenge from Daniele Rugani in the penalty area. This led to some VAR confusion before a penalty was eventually awarded and Andrea Petagna scored the spot-kick. However, Juventus held on to remain top of Serie A.
Fiorentina hit back with 10 men, equalising with an 85th-minute penalty, to hold Milan to a 1-1 draw in Serie A after the visitors had a solo Zlatan Ibrahimovic goal disallowed by VAR. The result left Milan coach Stefano Pioli fuming at the match officials, saying he could not understand why the referee had not reviewed the penalty incident on the pitchside monitor, and at his own team, for relaxing and letting the win slip.
Ante Rebic pounced on a mistake to put Milan ahead in the 56th minute before the hosts were reduced to 10 men when Dalbert fouled Ibrahimovic as he raced towards goal and was sent off after a VAR review. But Fiorentina equalised when Patrick Cutrone was clumsily bundled over by Alessio Romagnoli in the area and Erick Pulgar converted the penalty which the referee awarded immediately.
Bologna’s chances of a Europa League place were aided by a last-gasp equaliser in their 1-1 draw at home to Udinese. Rodrigo Palacio’s late strike cancelled out Stefano Okaka’s first-half goal for the visiting side.