Real Madrid clawed back to within seven points of Primera Liga leaders Barcelona after a hard won 3-1 home win over relegation prospects Real Mallorca on Sunday.
A Luis Figo penalty, a tap-in by defender Walter Samuel and a brilliant shot from substitute Santiago Solari in injury time secured the victory that puts Madrid on 41 points from 20 games.
Their battling display keeps Real's slim title hopes alive after Barcelona beat Racing Santander 3-0 on Saturday.
Third-placed Valencia fell further off the pace after losing 3-1 at Villarreal thanks to a hat-trick from Argentine playmaker Juan Roman Riquelme who put on an inspired performance.
Madrid took the lead at the Bernabeu in the 36th minute with a Luis Figo penalty but, despite dominating possession, failed to capitalise on a string of free kicks and corners.
A series of penetrating crosses from David Beckham were not be exploited by Brazilian striker Ronaldo and captain Raul, who has scored only four league goals so far this season.
Madrid began to look anxious when Mallorca, languishing second from bottom of the table, equalised with a free kick from midfielder Alejandro Campano that curled around the wall and caught out goalkeeper Iker Casillas at his near post.
DANGEROUS ZIDANE
However, with French playmaker Zinedine Zidane looking more dangerous than he has for most of the season, Real were always favourites to go in front again.
The goal came in the 80th minute, after Mallorca were reduced to 10 men by the dismissal of new signing Mark Iuliano, when Samuel poked home in a goalmouth scramble after a corner.
Solari added a third with a brilliant individual effort in the second minute of added time, turning inside after a run down the right before thumping the ball into the top left corner.
Valencia are 12 points behind Barcelona after Riquelme led Villarreal to victory with a virtuoso display.
The Argentine scored his first with a penalty after 17 minutes and added a second on the stroke of halftime after a meandering run left him space to drill a long-range shot past startled goalkeeper Santiago Canizares.
Valencia clawed a goal back with a spot kick from Pablo Aimar in injury time but Riquelme then added his third, also with a penalty, in the last minute of the game.
Espanyol slipped to fifth place after a 4-1 drubbing at Deportivo Coruna with the Galician side finding the key to unlock what had been the Primera Liga's tightest defence.
Sevilla moved into the fourth Champions League qualifying spot with a comfortable 2-0 victory at lowly Albacete.