Gareth Bale scored twice as Real Madrid recovered from two consecutive league defeats to beat Rayo Vallecano de Madrid 5-0 on Saturday.
Atletico Madrid remain top of La Liga as they came from behind away to beat Athletic Bilbao 2-1, while Barcelona rounded off a fine week by overcoming stiff resistance from local rivals RCD Espanyol to win 1-0 thanks to a late Lionel Messi penalty.
Victory for all three title contenders means that Atletico maintain their one-point lead over Barcelona, with Real a further two points adrift in third.
Bale also teed up Cristiano Ronaldo to open the scoring at the Bernabeu as the Portuguese continued his run of scoring in each of his past 10 games for club and country by bursting past two Rayo defenders before slotting low into the corner.
Karim Benzema then failed to connect with an open goal to aim at, and Bale also passed up a huge chance as he kicked the ground when attempting to chip Ruben Martinez.
Dani Carvajal eventually made the game safe when he registered his first goal for the club from Ronaldo’s cut-back 10 minutes after half-time.
Bale then took over as he tapped home Angel di Maria’s unselfish cross before running half the length of the field to slot home his 16th goal of the season to make it 4-0.
Alvaro Morata rounded off the rout with a fine curling effort 12 minutes from time.
“We reacted well after two defeats,” Real boss Carlo Ancelotti said. “We played well and our attitude was good, which will serve us well for the next game.”
“Obviously, we could have been in a better position at this point in the season, but mentally I think we reacted well today and can look forward with optimism,” he said.
It was a far tougher day for Atletico and Barca as they had to grind out difficult wins away from home.
Atletico got off to the worst possible start as Aritz Aduriz cushioned a long-ball into Iker Muniain’s path, who sent a perfectly weighted lob over Thibaut Courtois and just under the crossbar.
Diego Costa had a chance to reply soon afterward as he was played in by Koke, but his shot was too close to Gorka Iraizoz and the goalkeeper parried the ball to safety.
The Spain international made amends with a similar chance nine minutes later when he was again sent through on goal by Koke and this time finished low into the far corner for his 33rd goal of the season.
Costa was left cursing his luck twice in quick succession at the start of the second period as he raced onto another long ball and shot centimeters wide before being clearly tripped by Aymeric Laporte inside the area, but the referee waved away his penalty claims.
Atletico did get the game’s all-important third goal, as Costa fed Filipe Luis on the left and his cross was headed home at close range by Koke.
Courtois was forced into one brilliant save from a towering header by Aduriz, as Athletic pressed for an equalizer.
However, they could not find a way through and the hosts finished the game with 10 men as Laporte saw a second yellow card for chopping down Costa five minutes from time.
Barcelona were also made to work for their three points, as Messi scored the only goal from the spot 14 minutes from time after Javi Lopez was adjudged to have handled inside the area.
Espanyol were then reduced to 10 men when goalkeeper Kiko Casilla saw a straight red card for blocking Messi’s goalbound effort with his hands outside the area.
“Derbies are always the same and you have to win them,” Barca boss Gerardo Martino said. “It doesn’t come easy and they are always tight games, for that reason this was a risky away game for us and we value the three points even more.”
Barca now firmly have the destiny of the title in their own hands as they are to host Atletico on the final day of the season.