Real Madrid’s title hopes suffered a blow as they needed a late Alvaro Rodriguez equaliser to snatch a 1-1 draw against 10-man rivals Atletico Madrid on Saturday.
The European champions, fresh from an emphatic and morale-boosting win at Liverpool, had hoped to put pressure on Barcelona at the top of LaLiga but they endured a frustrating night at the Bernabeu.
Atletico had Angel Correa sent off for elbowing Antonio Rudiger just after the hour but they rallied to take a surprise lead through Jose Gimenez.
Teenager Rodriguez salvaged a draw when he headed in Luka Modric’s 85th-minute corner but Barca will now have the chance to move 10 points clear when they travel to struggling Almeria on Sunday.
Elsewhere in Spain, European hopefuls Rayo Vallecano slipped to a 1-0 defeat at Cadiz while Espanyol beat Mallorca 2-1.
In Italy, Victor Osimhen was again on target as Napoli extended their lead at the top of Serie A to 18 points with a 2-0 success at Empoli.
Osimhen, the competition’s top scorer, struck for an eighth game in succession after Napoli had taken the lead with an Ardian Ismajli own goal.
Napoli had defender Mario Rui sent off on 67 minutes after a foul on Francesco Caputo but Empoli could not get back into the game.
Borussia Dortmund moved top of Germany’s Bundesliga with a 1-0 win at Hoffenheim.
Julian Brandt scored for the fourth game in a row two minutes before half-time to take Dortmund three points clear of Bayern Munich, who play third-placed Union Berlin in a crunch clash on Sunday.
RB Leipzig climbed to fourth with a 2-1 victory over Eintracht Frankfurt. Timo Werner and Emil Forsberg scored in the first half before Djibril Sow replied on the hour at the Red Bull Arena.
At the other end of the table, bottom side Schalke claimed their first win since November as they beat Stuttgart 2-1 after first-half goals from Dominick Drexler and Marius Bulter.