Benzema, Ronaldo spur Real rebound
The league leaders had dropped points at home to Malaga and away at Villarreal in the past six days, but any lingering doubts from those games were extinguished within seven minutes as Gonzalo Higuain swept home Benzema's pass.
Ronaldo made it two just after the half-hour mark as he latched onto Kaka's through ball to calmly slot past Claudio Bravo for his 100th La Liga goal, and Benzema added a third with a wonderful lob over Bravo five minutes before the break.
Xabi Prieto's deflected effort pulled a goal back for the visitors a minute later. But Real continued to dominate and Benzema and Ronaldo doubled their tallies after the break thanks to more great build-up play from Sami Khedira and Higuain respectively.
Barcelona's 2-0 win at RCD Mallorca had temporarily cut Madrid's lead to three points before kick-off, but they were never in any danger of failing to win for the third time in a week after Higuain had expertly guided Benzema's pass into the bottom corner from just outside the area.
The Frenchman just could not stretch to turn home Higuain's excellent cross ten minutes later before Sociedad had a rare opportunity to equalise as Antoine Griezmann's shot was deflected into Imanol Aggiretxe's path, but the striker's poor touch took him wide and Iker Casillas was able to comfortably turn his shot behind.
Ronaldo then passed up two glorious opportunities as he shot straight at Bravo when one-on-one with the keeper and headed wide Sergio Ramos' cross when unmarked only a few yards from goal. But the Portuguese did not have to wait long to find the net as Kaka's defence-splitting pass put him in the clear again and this time he showed more composure to slot the ball into the corner of Bravo's net.
Benzema scored a brilliant third eight minutes later as he controlled Xabi Alonso's ball over the top before weighting his lobbed finish over Bravo to perfection.
Straight from the kick-off, though, Sociedad got a goal back as Prieto's fierce shot from outside the box was helped past Casillas via a deflection off Ramos. It took Real only three minutes into the second period to restore their three-goal cushion as Benzema was played in by another fine pass, this time from Khedira, and he rattled the ball past Bravo to take his tally to 20 for the season.
Seven minutes later the hosts had their fifth as the Sociedad defence was again undone by a long ball out from the back and Higuain squared for Ronaldo to tap home is second of the night and his 101st in the competition from just 92 games.
Antonine Griezmann should have pulled another goal back for Sociedad, but his weak header was easily saved by Casillas before Raphael Varane's header was cleared off the line to deny Real a sixth. And a comfortable evening for the hosts was rounded off when they were able to withdraw Ronaldo and Benzema early to rest them ahead of the first-leg of their UEFA Champions League tie with APOEL Nicosia on Tuesday.