Real Madrid had Eder Militao sent off in a 2-1 defeat by Levante on Saturday, handing Atletico Madrid the chance to move 10 points clear at the top of La Liga.
Zinedine Zidane's defending champions sit second in the table, seven points behind Atletico, who have two games in hand and face Cadiz on Sunday.
Militao was shown a red card in the ninth minute at the Alfredo di Stefano Stadium, with his team already without their injured captain Sergio Ramos and Covid-stricken coach Zidane.
Marco Asensio gave Madrid the lead four minutes later but Jose Luis Morales equalised close to half-time before Roger Marti made up for missing a penalty by scoring the winner.
Barcelona coach Ronald Koeman had admitted earlier on Saturday his team "have to be realistic" about their chances of overturning Atletico's considerable lead in the table.
And with Real Madrid slipping up again, it may now take a seismic collapse for Atletico to miss out on repeating their incredible La Liga triumph in 2014.
"The team were sad in the dressing room," said Zidane's assistant David Bettoni, who took charge of the side. "But they still have the will to fight to the end."
"You always have to fight, the season ends in May," added goalkeeper Thibaut Courtois.
"It is true that Atletico continue to win and are up there. We have to win and hope that the others lose."
It also leaves the Champions League as Real Madrid's only obvious chance of a trophy this season after they lost in the Spanish Super Cup semi-finals and went out to Alcoyano in the Copa del Rey.
Madrid face Atalanta next month in the Champions League's last 16.
Militao was sent off for bringing down Levante's Sergio Leon, who was darting towards goal when Militao cut across him on the edge of the penalty area.
But Madrid gave themselves a lead to hang onto shortly after when Asensio continued his recent resurgence by sprinting onto Toni Kroos' brilliant through ball and finishing into the corner.
Levante were dangerous, though, and drew level before the interval as Jorge Miramon's cross to the back post was expertly caught on the half-volley by Morales.
Vinicius Junior came on for Madrid in the second half but made the worst possible start by kicking away the leg of Carlos Clerc, who was shown by VAR to have had his right foot inside the area.
Courtois pushed away the penalty by Roger and with 11 men, Madrid might have seized the momentum.
Instead, their tired legs gave way and a well-worked short corner by Levante gave a clear sight of goal to Roger, who made amends by firing into the corner.
Sevilla moved up to third in the table, a point behind Real Madrid, by winning 2-0 away at Eibar.
Lucas Ocampos put Sevilla in front with a penalty after the in-form Youssef En-Nesyri took a tumble in the box, before Jordan Moreno slid in at the front post in the second half to seal victory.
Villarreal and Real Sociedad had to settle for a point each in their bids for the top four after drawing 1-1 but Valencia moved five points clear of the relegation zone with a 1-0 win over Elche.