Barcelona went top of La Liga as they came back from 2-0 down after 70 minutes to beat title rivals Atletico Madrid 4-2.
Hosts Atleti led 2-0 with 20 minutes to go after goals from Julius Alvarez and Alexander Sorloth.
Robert Lewandowski and Ferran Torres both scored to leave the game level after 78 minutes, a result that would have seen Real Madrid sit top of the table.
But Lamine Yamal put Barca ahead in the second minute of stoppage time before Torres made the game safe.
Atletico now trail Barca and second-placed Real by four points, with Barca having a game in hand on both Madrid clubs.
A big win in Bergamo 👊#ForzaInter #AtalantaInter
— Inter ⭐⭐ (@Inter_en) March 16, 2025
Elsewhere in Spain, Athletic Bilbao strengthened their hold on a Champions League spot by winning 1-0 at Sevilla, while Real Betis fought back from 2-0 down to beat Leganes 3-2 and boost their European hopes.
Inter Milan won their top-of-the-table tussle with Atalanta 3-1 to move three points clear in Serie A.
An Atalanta victory would have seen the two teams and Napoli all level on 61 points.
But Carlos Augusto and Lautaro Martinez earned Inter a crucial away win in a game that saw both teams have a player sent off in the last 10 minutes.
Napoli had earlier been held to a goalless draw at Venezia, while Bologna thrashed Lazio 5-0, Fiorentina beat Juventus 3-0 and Roma won 1-0 against Cagliari.
Bayer Leverkusen breathed some life into the Bundesliga title race with a thrilling 4-3 win at Stuttgart.
Xabi Alonso’s side trailed 2-0 and 3-1 but fought back to level before Patrik Schick scored a stoppage-time winner that closed the gap to leaders Bayern Munich to six points.
In France, Sunday’s action was headlined by Paris St Germain beating Marseille 3-1 in Le Classique to move 19 points clear at the top of Ligue 1.