Real Madrid stretched their lead at the top to eight points after coming from behind to beat Real Mallorca, while Valencia lost.
Real Madrid and Rayo Vallecano win away; Valencia shocked
Real Madrid stretched their lead at the top to eight points over Barcelona thanks to two goals in the final 18 minutes of the game at Real Mallorca.
In the night's other games, Valencia suffered a shock defeat, Rayo Vallecano recorded an away win at Granada while Espanyol held Marcelino's Sevilla to a draw and Getafe snatched a point at Real Zaragoza.
Jose Callejon grabbed a late winner for Real Madrid
as Jose Mourinho's men fought back from a goal down to defeat Real Mallorca
2-1 and go eight points clear of bitter rivals Barcelona at the top of the standings.
Israeli international Tomer Hemed put the hosts ahead in the first half and it looked like a surprise result was on the cards until substitute Gonzalo Higuain gave Madrid hope with an equaliser.
Callejon then struck what proved to be a crucial winner in the 82nd minute to record their seventh straight away victory and pile the pressure on champions Barcelona who tackle Real Betis at home on Sunday.
missed the opportunity to move within a point of Barcelona after being shocked 1-0 at home by Real Sociedad
Sociedad had been languishing just above the relegation zone but they held their own in a goalless first half at the Mestalla.
Things then got even better for the visitors when Antoine Griezmann broke the deadlock on 56 minutes, and Valencia could not find an equaliser despite battling hard.
run without a league win stretched to four games as Espanyol
held them to a 0-0 draw at the Sanchez Pizjuan.
Sevilla's best opportunity fell to defender Martin Caceres but the Uruguayan was denied by a sprawling save from Kiko Casilla as the home side searched for the opening goal.
The hosts dominated the closing exchanges as Jose Antonio Reyes, Frederic Kanoute and Jesus Navas were all guilty of missing golden opportunities to relinquish the pressure on head coach Marcelino.
However, the draw means both sides remain on 25 points, just five points off the Champions League places.
Goals by Michu and Francisco Piti earned Rayo Vallecano
victory at Granada
who finished the game with 10-men.
The home side hit back through Fran Rico in the last five minutes but they also had Inigo Lopez dismissed in injury time.
Miguel Perez Cuesta, otherwise known as Michu, made no mistake after 24 minutes when a cross by Roberto Trashorras found him in the Granada area and he shot home to give the visitors the lead and the visitors doubled their advantage six minutes after the break. Raul Tamudo set up the chance and Piti fired home a left foot shot from 20 yards.
The home side put in a late rally and Jaime Romero fired wide before a corner was cleared by the visitors only for Rico to volley the ball in from the edge of the area to get the home side back into the game, but the hosts had Lopez sent off in injury time.
A late own goal denied new Real Zaragoza
coach Manolo Jimenez a victory on his home debut as Getafe
snatched a share of the spoils from La Romareda.
Jimenez suffered a 1-0 defeat at Racing Santander in his first game in charge last weekend but it looked set to be a better outing for him on Saturday as his side took a 38th-minute lead through Maurizio Lanzaro and still held that advantage heading into the closing stages. However, with 11 minutes to go, Zaragoza defender Javier Paredes inadvertently put through his own net to help Getafe salvage a 1-1 draw.
The result leaves Zaragoza rooted to the foot of the standings but it at least brought an end to their six-match losing streak in La Liga, while Getafe remain just above the relegation dogfight.