Barcelona twice came back from goals down to win 3-2 at Real Betis and cut Real Madrid's lead at the top of La Liga to three points.
Sergio Canales gave the home side the lead but Lionel Messi teed up Frankie de Jong to equalise in a frantic first 10 minutes.
Nabil Fekir then put Betis in front, only to see his goal cancelled out in first-half stoppage time by Sergio Busquets.
Messi then set up Clement Lenglet for the decisive goal but the French centre-half was later sent off, with Fekir also seeing red.
Earlier in the day, Real Madrid fought back from a goal down to win 4-1 at Osasuna.
Zinedine Zidane handed Gareth Bale his first league start in over a month and he played 71 minutes of a victory inspired by first-half goals from Isco and Sergio Ramos.
Lucas Vazquez and Luka Jovic added gloss to the scoreline with late strikes to briefly give Real a six-point lead at the top of the division.
Bottom club Espanyol bolstered their survival hopes with a 1-0 win over fellow strugglers Mallorca through Raul de Tomas' goal, although they remained bottom.
Serie A: Second-half comeback takes Inter top
Inter Milan stormed to the Serie A summit thanks to a second-half fightback that clinched Antonio Conte's men a 4-2 Derby della Madonnina victory over AC Milan.
Ante Rebic and the returning Zlatan Ibrahimovic had seemingly put Milan in control of the game with goals in the first half.
But captain Marcelo Brozovic, Matias Vecino, Stefan De Vrij and Romelu Lukaku all found the net as Inter rallied from that 2-0 half-time deficit to stun the Rossoneri and capitalise on Juventus' 2-1 loss at Hellas Verona on Saturday.
Lazio remain in the hunt and extended their unbeaten run to 18 games with a narrow 1-0 win at Parma. Felipe Caicedo scored the winner to take his side to within a point of Inter and Juve.
Bundesliga: RB Leipzig hold leaders Bayern Munich
Bundesliga leaders Bayern Munich drew 0-0 with visiting RB Leipzig, missing their chance to increase their lead at the top of the table, with their opponents staying a point behind in second place.
Bayern, top on 43 points, enjoyed possession in a dominant first half but failed to score despite chances for Robert Lewandowski.
Leipzig, without a win in their past four games in all competitions, waited patiently for their chances and they got them after the break but both Marcel Sabitzer and Timo Werner fired wide to squander golden scoring opportunities.
Leipzig 'keeper Peter Gulacsi then tipped Leon Goretzka's effort wide in the 80th, in Bayern's best chance of the second half.
Sunday's game between Borussia Monchengladbach, who are fourth on 39 points, and Cologne was postponed due to a storm warning.
Ligue 1: PSG move 12 points clear
Paris Saint-Germain's lead over nearest challengers Marseille at the top of Ligue 1 is now 12 points after an emphatic 4-2 win over Lyon.
Angel di Maria and Kylian Mbappe had put the league leaders in a 2-0 lead before a comical own goal by Fernando Marcal extended it to the 3-0.
Martin Terrier and Moussa Dembele cut the deficit to 3-2 but Edinson Cavani put the result beyond any doubt with PSG's fourth.
Elsewhere, Andy Delort's goal was enough to give Montpellier a 1-0 win over St Etienne while Strasbourg strolled to a 3-0 win over Stade de Reims.
Kenny Lala, Majeed Waris and Alexander Djiku were all on target for the sixth-placed side.