Barcelona - Cristiano Ronaldo and Karim Benzema scored to give Real Madrid a 2-0 win at Elche on Sunday, as the Spanish league leaders capitalized on Barcelona's stumble to increase their advantage to four points.
Madrid grasped the opportunity Barcelona had presented it with after a 1-0 defeat at home to Malaga on Saturday.
Elche was fortunate to escape without conceding in a first half dominated by Madrid.
But Benzema tapped in a boggled clearance by Elche's defense to make the breakthrough in the 56th, and Ronaldo ended a five-round scoring drought by heading in his league-leading 29th goal in the 69th.
"(Barcelona's) loss surprised us all because they were playing very well," said Madrid coach Carlo Ancelotti. "This was an important game considering what happened yesterday so we could gain some distance. But this is going to go down to the last game of the season."
Madrid goalkeeper Iker Casillas' 500 Spanish league game was one of his most uneventful, as he was called upon just once against the outclassed hosts.
Casillas set a club record for the most wins by a Madrid player in la Liga with 328.
"I am thankful, this record is not easy to get being a Real Madrid player, maybe in another club it would have been easier," said Casillas. "I never thought about reaching a certain number."
Benzema was well placed to tap home a loose ball after David Lomban's clearance of Cristiano Ronaldo cross hit goalkeeper Przemyslaw Tyton and fell to the striker.
Despite Madrid's great start with Toni Kroos orchestrating the attack, Ronaldo's scoring troubles from recent weeks continued as he spurned several chances and threw at least three tantrums when his cries for fouls went unheard.
Ronaldo's header, however, was a skillful attempt as he generated enough power from a standstill to thump Francisco "Isco" Alarcon's cross past Tyton. That goal put him three ahead of Barcelona's Lionel Messi, who had closed in as the pair target the league's top scorer for the season.
"As long as our legs stayed with us we were in it," said Elche defender Eduardo Albacar. "And their first goal was from a bad bounce, but they have enough talent to beat you at any moment."
While Madrid's victory was not much of a surprise, Real Sociedad went form losing to winning its 4-3 shootout with Sevilla in a span of the final eight minutes.
Athletic Bilbao also needed a late strike from Aritz Aduriz with four minutes to play to edge Rayo Vallecano 1-0 for its first home win in six rounds.
Villarreal, likewise, eked out a 1-0 win over visitors Eibar thanks to Luciano Vietto's second-half strike.
Sociedad midfielder Xabi Prieto headed in his second goal of the game from a corner kick in the 90th to complete the comeback after Sevilla led 3-2 with eight minutes left.
The home side had opened through Imanol Agirretxe after defender Alejandro Arribas lost sight of him and the ball in the 16th.
Timothee Kolodziejczak leveled two minutes before halftime before Prieto restored Sociedad's lead with a penalty in the 48th.
Sevilla responded with goals from Carlos Bacca and Kevin Gameiro to lead 3-2, but Arribas compounded his poor showing with an own goal in the 82nd before Prieto got the winner.
"The game was there for the taking," Sevilla coach Unai Emery said. "But we let it slip away in the details."
The defeat left Sevilla in fifth place, five points behind Valencia in the final Champions League spot, while Sociedad climbed into 10th.
Sixth-place Villarreal pulled to within one point of Sevilla after Vietto broke through in the 71st when his shot slipped through the grasp of Eibar goalkeeper Xabi Irureta.
Eibar's struggles since the winter break continued as the promoted club lost its fifth consecutive game to slip into 11th.
Aduriz took Bilbao's winner after he combined with left back Mikel Balenziaga to finally break down Rayo's defense, as the Basques moved into 12th.