Ten-man Barcelona moved into fourth place in LaLiga following an action-packed 4-2 win over Atletico Madrid on Sunday.
Dani Alves set up his side's equaliser for Jordi Alba, scored himself and was later sent off in a game which also saw former Arsenal striker Pierre-Emerick Aubameyang make his debut at Camp Nou.
The visitors took an early lead when Luis Suarez, playing against his former club, set up Yannick Carrasco to open the scoring, but Barca hit back just two minutes later as Alves set up Alba to volley home.
Wolves loanee Adama Traore then crossed for teenager Gavi to head the home side in front and they extended their lead shortly before the interval when Ronald Araujo drilled in a half-volley after Gerard Pique had headed an Alves free-kick off the bar.
Alves then got on the scoresheet himself just a few minutes into the second half with a superbly-struck shot beyond Jan Oblak, before a close-range header from Suarez gave Atletico renewed hope.
Barcelona had to see out the last 20 minutes with 10 men when Alves was sent off for a bad foul on Carrasco, with the referee initially taking no action until being told by the VAR to consult the pitchside monitor.
Real Madrid are six points clear at the top of the table after Marco Asensio’s 74th-minute goal was enough for victory over Granada, while Villarreal won 2-0 at Real Betis and Valencia and Real Sociedad drew 0-0.
Bayern Munich enjoy a nine-point lead at the top of the Bundesliga after nearest rivals Borussia Dortmund were thrashed 5-2 at home by Bayer Leverkusen.
Dortmund, who were without injured top scorer Erling Haaland, fell behind to a Manuel Akanji own goal and although they quickly equalised when Jeremie Frimpong also scored at the wrong end, goals from Florian Wirtz and Robert Andrich made it 3-1 at half-time.
Jonathan Tah extended the lead early in the second half and Moussa Diaby made it 5-1 late on before Steffen Tigges scored an 89th-minute consolation.
Greuther Furth remain rooted to the bottom of the table after losing 4-1 at Wolfsburg, with Aster Vranckx scoring twice for the home side.
Victor Osimhen scored on his first start since November to help Napoli beat Venezia 2-0 and move within a point of Serie A leaders Inter Milan.
Osimhen, who had made two brief substitute appearances since fracturing bones in his face at Inter, headed the opener just before the hour mark and Andrea Petagna sealed the points in the 10th minute of stoppage time in a match extended due to a clash of heads between the referee and Venezia’s Tyronne Ebuehi.
Ebuehi was also sent off late on for a bad foul on Dries Mertens.
Gaston Pereiro scored both goals as Cagliari won 2-1 at Atalanta, the home side having goalkeeper Juan Musso sent off for bringing down Pereiro shortly after he had opened the scoring.
Juventus moved above Atalanta into the Champions League positions with a 2-0 win over Verona in the day’s late game, Dusan Vlahovic and Denis Zakaria scoring the goals.
Sampdoria scored twice in the opening seven minutes on their way to a comfortable 4-0 win over Sassuolo, while Udinese beat Torino 2-0 in a frantic finish at the Dacia Arena.
After Rolando Mandragora was sent off in injury time, Nahuel Molina scored directly from the resulting free-kick and moments later goalkeeper Vanja Milinkovic-Savic brought down Ignacio Pussetto to concede a penalty, which Pussetto converted.
Nice failed to move back into second place in Ligue 1 as they suffered a surprise home defeat to Clermont, Elbasan Rashani scoring the only goal 13 minutes from time.
Paris St Germain are 13 points clear at the top of the table following a 5-1 win at Lille, with Danilo Pereira netting a brace and Lionel Messi and Kylian Mbappe also among the scorers.
Reims ended a run of three games without a goal in style as they thrashed Bordeaux 5-0, with Marshall Munetsi scoring twice and Bordeaux’s Danylo Ignatenko getting sent off just nine minutes into his debut as a second-half substitute.
Dimitri Lienard’s goal gave Strasbourg a 1-0 win over Nantes that keeps them in fourth place ahead of Rennes, who beat Brest 2-0.
Lorient climbed off the foot of the table with a 2-0 win over 10-man Lens, while Troyes and Metz played out a goalless draw.