Atletico Madrid leapfrogged Barcelona at the top of LaLiga after coming from behind to beat them 2-1 in dramatic fashion.
Substitute Alexander Sorloth scored the winner deep into stoppage time at the Estadi Olimpic Lluis Companys as Atletico earned their first win away to Barcelona since 2006.
Sorloth beat Inaki Pena in the sixth minute of added time to complete the turnaround, with Pedri’s 30th-minute opener having been cancelled out by Rodrigo De Paul on the hour, moments after Raphinha hit the crossbar for Barca.
Atletico go three points clear of the Catalan side – who have a game in hand – having continued their remarkable winning run with a seventh successive victory in the league, and 12th in all competitions.
Hansi Flick’s Barca have now won only once in seven league games, losing four of those, including three home league defeats on the bounce.
They may be third in the Christmas table, with Real Madrid a point behind them ahead of hosting Sevilla on Sunday.
Fourth-placed Athletic Bilbao also came from behind to win 2-1, doing so at Osasuna with Alex Berenguer getting the decisive goal in the 74th minute.
Mallorca won 1-0 at Getafe thanks to Cyle Larin’s penalty, and Celta Vigo beat Real Sociedad 2-0 at home with Pablo Duran netting twice.
Napoli moved to the top of Serie A with a 2-1 victory at Genoa, the hosts’ first loss under Patrick Vieira.
Andre-Frank Zambo Anguissa and Amir Rrahmani each scored first-half headers as Antonio Conte’s men went a point clear of Atalanta, who are at home against Empoli on Sunday.
Lazio won 2-1 at Lecce, who had Frederic Guilbert sent off just before the interval, while Bologna won 2-0 at Torino with goals from Thijs Dallinga and Tommaso Pobega.
In the Bundesliga, Patrik Schick plundered four goals as second-placed Bayer Leverkusen thrashed Freiburg 5-1 at home for a fifth successive league win. Florian Wirtz also netted having earlier failed to open the scoring when his spot-kick was kept out by Noah Atubolu.
Xabi Alonso’s champions are four points behind Bayern Munich, 5-1 winners themselves over RB Leipzig on Friday evening.
Eintracht Frankfurt are five points further back in third after crashing to a 3-1 home loss to a Mainz side who had Nadiem Amiri sent off early on after going ahead through Kaua Santos’ own goal. Paul Nebel added a brace for the visitors as they rose to fifth.
Marco Grull notched an early double as Werder Bremen thumped Union Berlin 4-1 at home to move up to sixth, Borussia Monchengladbach won 2-1 at Hoffenheim, Phil Harres and Shuto Machino each registered braces in second-bottom Holstein Kiel’s 5-1 victory at home against Augsburg that ended a five-game losing streak, and St Pauli were 1-0 winners at Stuttgart.