Real Madrid suffered a huge dent to their La Liga title ambitions following a surprise 2-1 defeat by Levante.
The home side were reduced to 10 men after just nine minutes when defender Eder Militao was shown a straight red card.
Marco Asensio put Real 1-0 up just moments later, but Jose Luis Morales levelled for Levante before the interval, with Roger Marti netting the winner 12 minutes from time.
Real remain seven points behind city rivals Atletico Madrid who travel to Cadiz on Sunday with two games in hand.
With manager Zinedine Zidane sidelined after contracting coronavirus, David Bettoni took charge of a Real side bidding to claim back-to-back victories.
But they faced an uphill task when Militao was given his marching orders after he brought down Sergio Leon.
A delightful pass from Toni Kroos sent Asensio away and his cool finish put the hosts into the lead four minutes after Militao’s dismissal.
But the visitors were undeterred by Real’s opener and, following a number of chances at both ends, Morales netted past Thibaut Courtois with 32 minutes played.
Marti then had the opportunity to put Levante into the lead but his penalty kick was saved by Courtois shortly after the hour mark.
However, Marti made amends when he converted Enis Bardhi’s pass with 78 minutes played to give Levante all three points.
Meanwhile, Sevilla eased to a 2-0 win at Eibar to move ahead of Barcelona and into third place, one point behind Madrid.
Lucas Ocampos opened the scoring for the visitors in the 28th from the penalty spot after Pedro Bigas fouled Youssef En-Nesyri.
After Joan Jordan tapped in Sevilla’s second goal in the 55th, Eibar goalkeeper Marko Dmitrovic asked to be substituted and spent the rest of the match in the stands with his left leg propped up.
Bundesliga: Bayern stretch lead
Bundesliga top-scorer Robert Lewandowski took his tally to 24 goals and had an assist as Bayern Munich stretched their lead to 10 points with a 4-1 win over Hoffenheim.
Jerome Boateng opened the scoring with a header in the 32nd minute, before Lewandowski set up Thomas Muller in the 43rd.
Andrej Kramaric pulled one back a minute later for Hoffenheim, but Lewandowski scored for the ninth consecutive game in the 57th minute, and Serge Gnabry made sure with Bayern’s fourth just past the hour-mark.
Elsewhere, Borussia Dortmund ended their three-game winless run with a 3-1 victory over Augsburg.
Dortmund coach Edin Terzic made three changes to the team that lost 4-2 to Gladbach, with goalkeeper Marwin Hitz coming in for the injured Roman Burki, who was heavily criticised for his performance in the Gladbach defeat.
But Hitz was picking the ball out of his net in the 10th minute when Andre Hahn fired the visitors in front.
Erling Haaland struck his penalty off the crossbar in the 21st minute and Rafa Gikiewicz saved his header two minutes later, but Thomas Delaney finally made the home side’s pressure count when he headed in the equaliser in the 26th minute.
Jadon Sancho scored in the 63rd minute and an own goal from Felix Uduokhai in the 75th extended the lead.
And Pal Dardai’s return as Hertha Berlin coach ended in a 3-1 loss at Eintracht Frankfurt, Union Berlin held Borussia Monchengladbach 1-1 and last-place Schalke drew at Werder Bremen 1-1.
Serie A: Milan return to winning ways
AC Milan got back to winning ways in Serie A with a 2-1 victory at Bologna, with goalkeeper Gianluigi Donnarumma in fine form to help his side open up a five-point lead at the top of the standings.
Zlatan Ibrahimovic missed the chance to put the leaders ahead when his spot-kick was saved in the 26th minute, but Ante Rebic latched on to the rebound to fire home.
Bologna had three glorious chances to level before the end of the first half, but were denied by some brilliant saves from Donnarumma.
Those stops proved crucial as Milan were awarded another penalty in the 55th minute. Franck Kessie converted from the spot to double his side’s lead.
Substitute Andrea Poli got one back for the hosts in the 81st minute, but they could not find an equaliser despite plenty of late pressure.
Meanwhile, Federico Chiesa scored for the second straight match for Juventus as the champions won 2-0 at Sampdoria.
The 23-year-old Chiesa finished off a well-worked team move in the 20th minute. Cristiano Ronaldo picked out lvaro Morata on the right flank and he rolled the ball across for Chiesa to tap it into the back of the net.
Aaron Ramsey doubled Juventus’s lead in stoppage time in another move started by Ronaldo. Ramsey had only come on as a substitute in the 83rd minute.