La Liga Wrap: Real and Atletico cruise to wins
Ronaldo received a two-match ban after lashing out at Cordoba's Edimar in Real's last league outing, but the leaders marched without the Portugal forward at The Santiago Bernabeu.
Sociedad, who beat Carlo Ancelotti’s side 4-2 at the Anoeta in September, were out to record their first away win over Real since 2004 and they enjoyed a fine start, as Aritz Elustondo headed the visitors in front in the first minute.
James Rodriguez equalised for Real just two minutes later, but Sociedad carried a serious attacking threat until Carlos Vela's injury 17 minutes in.
The hosts began to take control after the Mexican striker's substitution and Sergio Ramos put them ahead eight minutes before the break with his 41st Liga goal, before Benzema added a third early in the second half.
Real saw several chances go begging in the second half, but Benzema completed the scoring in spectacular fashion with 14 minutes to go as Real moved four points clear of Barcelona, who face Villarreal on Sunday.
City rivals Atletico were also victorious on Saturday.
Antoine Griezmann and Mario Mandzukic were in sparkling form as Diego Simeone's men bounced back from Copa del Rey elimination to beat Eibar 3-1 at a sodden Ipurua.
Atletico crashed out of the Copa after a 3-2 home defeat to Barcelona on Wednesday and they were greeted with torrential rain in the Basque Country – initially plunging the game into doubt - but the Liga champions produced an instant response as they cruised in testing circumstances.
Eighth-placed Eibar rarely looked capable of causing a splash on Saturday, with Griezmann's eighth league goal from his last six outings giving Atletico a seventh-minute lead.
The France international was then the architect for Atletico's second, crossing for the equally sharp Mandzukic to prod home in the 23rd minute.
Mandzukic added his 10th Liga goal of the season four minutes later and sensing the match was already won, a stubborn Atletico sat back and tightened their grip thereafter.
Eibar improved after the break, though Federico Piovaccari's consolation goal came a minute from time and did little to change the outcome as Atletico remain four points off the pace.
In other results, Granada and Celta Vigo were both 1-0 winners.
Jhon Cordoba's 56th-minute strike gave Granada a narrow win over 10-man Elche, while Celta Vigo were inspired by Nolito's second-half effort at home to Cordoba.