Madrid – Real Madrid may not even challenge for the title let alone win it as a shock 2-0 defeat at home to Real Sociedad on Sunday left them even further adrift in La Liga.
Barcelona, already seven points clear, could extend the gap over their fiercest rivals to 10 by beating Getafe later, while Atletico Madrid and Sevilla gained on the European champions too, despite playing out a 1-1 draw against each other.
Antoine Griezmann's stunning free-kick earned Atletico a point at the Ramon Sanchez Pizjuan.
Madrid were reduced to 10 men in the second half after Lucas Vazquez was shown a second yellow card but by then they already trailed to Willian Jose's early penalty.
Ruben Pardo wrapped up a brilliant victory for La Real, who had won this fixture only once in their last 22 attempts.
This was their first victory at the Santiago Bernabeu since 2004 and then Madrid fired coach Carlos Queiroz a day later.
Santiago Solari is not there yet, even if he was asked afterwards if he deserved to keep his job. "We fight to win the next game," he said.
The honeymoon period Solari enjoyed in November though after replacing Julen Lopetegui is well and truly over.
This loss, coming after the draw away to Villarreal on Wednesday, means Madrid sit fifth, outside even the Champions League places.
"Everything went against us today," Solari said. "We did everything we could but the ball just would not go in."
A stoney-faced Florentino Perez was among the 53,412 watching on, the club's second lowest attendance of the season. "We will try to get them back," Solari said, before making a swift exit.
Barcelona have won seven out of the last 10 La Liga titles and if they are to slip up in 2019, Atletico or Sevilla would seem the ones now able to take advantage.
Gareth Bale was missing with a calf injury but it was the 18-year-old Vinicius Junior that came in, not Isco, who is yet to start a league game under Solari.
La Real's penalty was awarded after 75 seconds and converted after 150. Mikel Merino ghosted past Sergio Ramos and inside Marcelo.
Casemiro tried to cover but bundled Merino to the ground. Willian Jose went high and down the middle.
Griezmann on target
Madrid poured forward, only to spurn a handful of chances before the break. Karim Benzema had the best of them, lashing wide with only Geronimo Rulli to beat.
Rulli was not needed then but he would be, many times. He denied Vinicius, Benzema and Luka Modric in quick succession. Ramos wanted a penalty for a push in his back but the appeal was desperate.
Vazquez clipped the post with a looping cross but that was not enough to hush the angry whistles at the end of the half.
The second period was frantic, with chances at both ends. Vinicius and Raphael Varane, twice, failed to find a gap in a goalmouth scramble, while Vinicius played a neat one-two with Benzema but his shot sailed inches wide.
La Real could have sealed it as Mikel Oyarzabal fired over from close range and the weaving Januzaj twice went close.
Isco replaced Casemiro in the 57th minute and in the 61st Vazquez was sent off. A rash sliding challenge had earned him a yellow card towards the end of the first half and even if the chip at Merino's heels seemed harmless, he was foolish to take the risk.
Down to 10, Madrid still pushed and had a more convincing penaty appeal when Vinicius tumbled over the arm of Rulli. Referee Jose Munuera stood firm.
Januzaj should have wrapped it up when his shot was saved by the legs of Thibaut Courtois but Pardo did, heading in a cross from Willian Jose, who could have made it three in injury time.
Defeat made Griezmann's free-kick seem all the more valuable as the Frenchman's fifth goal in as many games earned Atletico a point away to Sevilla.
Sevilla would have leapfrogged Atletico into second with a win and took the lead when Wissam Ben Yedder fired home on the turn.
Griezmann, however, intervened, whipping a superb shot across the rooted Jan Oblak and into the top right-hand corner.