Real Madrid sustained a shock defeat at Real Betis to hand the initiative to Barcelona in the La Liga title race.
Barca had beaten Real Sociedad 1-0 on Saturday to go two points clear and Zinedine Zidane’s side were unable to respond with a victory of their own.
They fell behind to Sidnei’s stunning strike into the top corner, but levelled via Karim Benzema’s penalty.
Ex-Barcelona forward Cristian Tello was Betis’ match winner, stroking in on 82 minutes.
Relive Real Betis’ victory over Real Madrid
The Betis substitute broke clear and coolly slide the ball past goalkeeper Thibaut Courtois as the hosts picked up only their eighth victory of the season to move up to 12th, eight points clear of the relegation zone.
Rubi’s team looked far from a side struggling at the wrong end of the table, causing Real Madrid all sorts of problems as Marc Bartra somehow headed over from six yards out with the whole goal to aim at.
Veteran winger Joaquin went round Courtois and looked to be slipping the ball into an empty net but was denied by Luka Modric’s goal-saving interception on the line.
The Belgium international goalkeeper also made a stunning save to tip Nabil Fekir’s thunderous, first-time strike over the crossbar.
After taking the lead through Sidnei’s superb effort, the goalscorer went from hero to villain by bringing down Marcelo inside the area and allowing Benzema to equalise.
The winner came courtesy of Benzema’s loose pass which was picked off by Andres Guardado, who popped the ball off for Tello and he made no mistake.
Real Madrid pushed for the equaliser but Ferland Mendy’s curling shot was brilliant tipped onto the crossbar by Joel Robles’ flying save and Benzema curled narrowly wide in the 95th minute