Real Madrid maintained their four-point lead over Barcelona in the Primera Division title race as both sealed hard-fought victories on Saturday evening.
Madrid scored twice in the final 15 minutes as they came from behind to beat Sporting Gijon 3-1.
The visitors went into a shock lead after half an hour when Miguel de Las Cuevas scored from the penalty spot after Sergio Ramos had ended a wonderful run by Oscar Trejo by handling inside the area.
Gonzalo Higuain levelled seven minutes later with a free header and Cristiano Ronaldo finally made all Real's pressure count 15 minutes from full-time when he powered home Angel di Maria's cross to score a record-breaking 41st goal of the campaign.
Roberto Canella was then sent off for the visitors for a second bookable offence and the hosts wrapped up all three points when Mesut Ozil's exquisite through-ball was slotted home by Karim Benzema.
Barcelona were also forced to work hard before Lionel Messi's second-half double earned them a 2-1 victory at Levante.
Jose Barkero gave Levante the lead with a 23rd-minute penalty and Barca appeared to be making heavy weather of getting back on terms.
But Messi burst into life with two goals in nine minutes, the second a spot-kick of his own that pulled him level with Ronaldo on 41 league goals for the season, to turn the game around.
The win means Barca remain well in touch with the leaders ahead of the second Clasico encounter of the season at the Nou Camp next weekend.
On Sunday, Espanyol recorded their first win in six games in some style as two goals in either half saw them trounce Valencia 4-0 at Cornella-El Prat.
Cristian Gomez opened the scoring with a neat finish from Sergio Garcia's cut-back and Joan Verdu added the second four minutes later with an imperious strike from outside the box.
Alvaro Vasquez came off the bench to slot home from another Garcia assist just before the hour mark and Kalu Uche rounded off a perfect afternoon for Mauricio Pochettino's side when he finished Victor Sanchez's fine through ball 10 minutes from time.
Claudio Bravo pulled off a string of wonderful saves to salvage a point for 10-man Real Sociedad in a 1-1 draw against Champions League candidates Malaga at La Rosaleda.
Malaga went in front after 19 minutes as Isco's shot from outside the area took the slightest of deflections off Ion Ansotegi and left Bravo with no chance.
The hosts seemed set to move back into third place in the Primera Division when Mikel Gonzalez was dismissed for a second bookable offence just before half-time, but Sociedad were level three minutes after the break as Xabi Prieto's shot from distance found the bottom-left corner of the net.
The home side then threw everything at the Sociedad goal but found Bravo in unbeatable form as he saved brilliantly from Jesus Gamez, turned Salomon Rondon's overhead kick onto the post and then again denied the Venezuelan with a stop from point-blank range three minutes from time.
Falcao capitalised on some crazy keeping to earn Atletico Madrid a 1-0 victory at Rayo Vallecano.
The Colombian was left with an easy finish in the 64th minute after Rayo goalkeeper David Cobeno had come way off limits in an unlikely attempt to get to the ball ahead of his opponent.
The win reignited the visitors' European hopes following a run of three defeats in four, leaving them ninth, but just one point behind sixth-placed Osasuna, who lost 1-0 to Real Betis.
Betis took another step to ensuring they will definitely be playing Primera Division football next season as Ruben Castro's goal was enough to hand them victory.
Castro's fine strike from just outside the area 10 minutes before half-time was a rare moment of quality in an otherwise uninspiring first half.
And any hopes of an Osasuna comeback after the break were dealt a blow on the hour mark when top-scorer Raul Garcia was given an extremely harsh red card for a foul on Jefferson Montero on the halfway line.
However, Betis failed to add more goals with their man advantage and were fortunate not to concede late on when Ibrahima Balde headed just wide and had a strong penalty claim waved away.
Athletic Bilbao warmed up for their Europa League semi-final in midweek with a 1-0 win over Mallorca thanks to Fernando Llorente's 28th goal of the season.
The Spanish international headed the hosts in front after just 12 minutes as he got on the end of Ibai Gomez's free-kick, but goalkeeper Dudu Aouate will have been disappointed to see the ball slip between his legs and into the net.
Mallorca were unfortunate not to be level before half-time as Pedro Bigas' shot came back off the post, but they did not seriously threaten an equaliser in the second half as Athletic held on to move within six points of Malaga in the final Champions League place.
Lautaro Acosta's last-gasp equaliser secured a point for rock-bottom Racing Santander and put a dent in Villarreal's bid to pull clear of the relegation zone after a 1-1 draw.
The home side, desperate for some good news after losing star striker Giuseppe Rossi for another six months this week due to a recurrence of a knee injury, appeared to be heading for all the points after Hernan Perez put them in front early in the second half.
But in the fourth minute of injury time Acosta got his head onto Jairo's cross to secure a dramatic draw for the visitors.
Tomislav Dujmovic scored the only goal as Real Zaragoza secured a potentially priceless 1-0 victory over Granada to move to within five points of safety.
Dujmovic struck in only the sixth minute as Zaragoza moved into 18th place, one behind their opponents who are still in grave danger of being sucked into the relegation zone with five games left.
Zaragoza finished the match with 10 men following Ruben Micael's stoppage-time dismissal, but it came too late for Granada to take advantage.