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 both gained on the European champions, despite playing out a 1-1 draw against each other.
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 beaten Madrid only once in their last 22 meetings. This was their first victory at the Santiago Bernabeu since 2004.
For Santiago Solari, the honeymoon period he enjoyed in November after replacing Julen Lopetegui is well and truly over.
This loss, combined with the draw away to Villarreal on Wednesday, means Madrid sit fifth, outside even the Champions League places.
The attendance of 53,412 was the club’s second lowest of the season too.
Barcelona have won seven out of the last 10 La Liga titles and if they are to slip up in 2019, it would now seem Atletico or Sevilla will be the ones 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 only bundled Merino to the ground. Willian Jose went high and down the middle.
La Real might have had a second soon after had the excellent Mikel Oyarzabal spotted Adnan Januzaj unmarked in the middle.
Instead, 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 after Vinicius’ delicate touch.
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 too as 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 clip 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. Pardo did, by heading in a cross from Willian Jose, who could have made it three but shot high in injury time. Madrid were well beaten.
© Agence France-Presse (Additional edits by Marisa Kennedy)