Real cut gap on Barca to 10 points
Real Madrid twice fought back from a goal down to beat Real Mallorca 5-2 at the Bernabeu and cut the gap on La Liga leaders Barcelona to 10 points.
Emilio Nsue gave the visitors an early lead but Gonzalo Higuain levelled, before Alejandro Alfaro put Gregorio Manzano's side in front again before half-time.
Two smart substitutions by Madrid coach Jose Mourinho at the break gave Los Blancos the lift they needed and goals by Cristiano Ronaldo, Luka Modric, Higuain and Karim Benzema in the second half gave a dominant Madrid the three points.
Real Sociedad climbed up to fourth place with a resounding 4-1 win over Valladolid at Anoeta.
Two first half goals by Antoine Griezzmann and one from Imanol Agirretxe set the Basques on their way to victory, and Xabi Prieto rounded off the win when he netted shortly after the re-start.
Javi Guerra scored a late consolation goal for the visitors in the final stages of the game but it was little use to Miroslav Djukic's side, who were shattered by their opponents decisive finishing in a frantic 20-minute spell.
Valencia kept alive their hopes of Champions League football next season and stayed two points behind Sociedad with a 3-0 win at home to fellow European hopefuls Real Betis. Roberto Soldado gave the home side the lead from the penalty spot after Antonio Amaya had been dismissed for Betis, before a late own goal from Junior Paulao and a strike from Jonas made sure of the points, which lifts Valencia up to fifth.
Borja Fernandez claimed the only goal of the game as Getafe kept their Europa League hopes alive with a 1-0 victory over Athletic Bilbao.
The decisive moment came in the seventh minute when the midfielder lashed the ball home following Pedro Leon's corner.
There were chances at either end to add to the scoring but nobody was able to match Borja's precision as Getafe held out for three points.
Information from the Press Association was used in this report