Real Madrid's hopes of defending the La Liga title suffered a further dent Saturday evening as it lost 1-0 at Real Betis.
Real Madrid dominated throughout yet could not find a way through Betis' defense and goalkeeper Adrian in particular after falling behind to Etxebarria Benat's first-half strike from 25 yards.
The defeat was Madrid's first in nine league matches and it remains eight points adrift of leader Barcelona, which could stretch its lead even further at sixth-placed Levante on Sunday.
Betis, meanwhile, made significant amends for its 5-1 humiliation at the hands of local rivals Sevilla last week and moved up to fifth.
There were no signs of an upset in the early stages as Madrid, who was on the right side of a 5-1 result last week against Athletic Bilbao, settled nicely, with Cristiano Ronaldo's left-foot strike palmed away by Betis goalkeeper Adrian.
Sami Khedira fired wide from the edge of the area but the visitors were stunned when Benat put Betis ahead against the run of play with its first foray on goal.
The midfielder collected the ball 30 yards from goal and dribbled past Khedira before drilling low into the left corner.
Yet it was Madrid who continued to control the tempo of proceedings and Angel Di Maria spurned two decent chances to level in quick succession.
First, the Argentinian's effort from close range was tipped over by Adrian and the winger then latched onto Karim Benzema's ball into the area before lifting the ball onto the roof of the net.
Benzema thought he had grabbed the equalizer after converting Xabi Alonso's free kick but was ruled offside while Di Maria beat the offside to go clean through on goal. But he flashed his effort wide from a narrow angle.
The visitors continued to lay siege to Betis' goal after the break and Kaka's shot from distance forced a spectacular save from Adrian and only Jose Antonio Dorado's last-gasp clearance denied Benzema from converting Ronaldo's low cross into the area.
Ronaldo, who had only scored once in his last five appearances before tonight, set out to end his mini-drought but his powerful free kick was tipped over by Adrian, who then pushed Benzema's close-range header wide.
Madrid continued to push numbers forward as it sought to avoid its third league defeat on the road this season, but it was all in vain as the hosts valiantly held on to secure a valuable three points.
Earlier, Malaga registered its first league win in five games as it hammered Valencia 4-0 at La Rosaleda to move back into the top four ahead of Levante's game Sunday.
The margin of victory could have been even greater for the hosts, which controlled the game from the start and went ahead just eight minutes in when Francisco Portillo curled home from Eliseu's cut-back.
Valencia was then reduced to 10 men as Adil Rami saw a second yellow card and Isco rounded off a fantastic evening for Malaga with a fourth in stoppage time.
Elsewhere, Real Valladolid stretched its unbeaten home run to six games as Manucho's second-half strike secured a 1-0 victory over Granada.
The Angolan had come close to breaking the deadlock in the first half with an overhead kick but made no mistake just after the hour when he was played in by Oscar Gonzalez and sent a fierce shot beyond Tono into the top corner.
Finally, Rayo Vallecano left it late to see off out-of-form Real Mallorca 2-0 in an awful game.
A match utterly devoid of excitement looked headed for a goalless draw until Leo Baptistao broke the deadlock with a goal totally out of keeping with what had gone beforehand, firing home low from 30 yards.
He then turned provider as substitute Andrija Delibasic got a second in the 90th minute to keep the hosts well placed in the top half and condemn the visitors to a seventh defeat in eight league games.