La Liga Wrap: Madrid move four points clear
In Carlo Ancelotti's 100th game in charge of the club, second-half goals from Karim Benzema and Cristiano Ronaldo secured maximum points.
Benzema tapped in from close range in the 56th minute, and Ronaldo netted his 38th of the season in all competitions with a powerful header 13 minutes later.
It completed a productive weekend for Real, who had seen title rivals Barcelona lose 1-0 at home to Malaga 24 hours previously.
There was a thrilling finale to the game at the Anoeta Stadium as Real Sociedad scored twice in the final eight minutes to secure a 4-3 win over Sevilla.
David Moyes' side took the lead through Imanol Agirretxe in the 16th minute, but Sevilla levelled two minutes prior to the interval courtesy of Timothee Kolodziejczak.
Xabi Prieto's penalty shortly after half-time restored Real's lead, but Carlos Bacca and then Kevin Gameiro's spot-kick put Sevilla in front for the first time with 12 minutes to go.
However, Alejandro Arribas' inexplicable own goal brought the hosts level once more, and Prieto won it in the final minute by heading home Ruben Pardo's corner as Sevilla's hopes of securing a top-four finish and UEFA Champions League football took a blow.
Elsewhere, Aritz Aduriz's late effort earned Athletic Bilbao a 1-0 win over Rayo Vallecano and Luciano Vietto's 11th league goal of the season saw Villarreal overcome Eibar by the same scoreline.