Real Madrid failed to build on last week's 'Clasico' victory as they lost 2-1 at Real Betis in a fiery match on Sunday and surrendered top spot in La Liga to Barcelona.
Former Barca forward Cristian Tello grabbed the decisive late goal that saw his old team regain the lead in the see-saw title race.
Real are now second on 56 points after 27 games, two behind Barca who beat Real Sociedad 1-0 on Saturday to regain first place a week after losing 2-0 at the Bernabeu.
Betis had gone ahead in the 40th minute after a moment of confusion as they appealed for a penalty when Sergio Ramos collided into Nabil Fekir but the loose ball landed at the feet of defender Sidnei who rifled it into the roof of the net.
The Brazilian's joy was cut short when he was penalised for tripping Marcelo in the area and Karim Benzema converted from the spot, his first goal in seven matches in all competitions.
Betis captain Joaquin missed an open goal in the second half and Real defender Ferland Mendy hammered a shot against the bar but Tello decided an end-to-end game in the 82nd minute, keeping his composure to beat Thibaut Courtois and find the net.
His goal ensured a third defeat in four matches in all competitions for Madrid, who had also lost their last away game against Levante and were beaten in the Champions League by Manchester City last month.
"The result is fair and we have to take a hard look at ourselves, we did not play well at all," said Real captain Sergio Ramos.
"It's a real shame we weren't able to hold on to our place at the top of the table but just as we didn't go crazy after beating Barca, we're not going to spend the next week tearing our hair out over this defeat.
"There are lots of points left to fight for but if we want to be champions we cannot afford to waste more opportunities like the one we had today."