Cristiano Ronaldo scored a perfect hat-trick as Real Madrid recorded a much-needed 5-2 victory over a below-par Real Sociedad at the Santiago Bernabeu on Saturday evening.
Lucas Vazquez headed Zinedine Zidane's under-fire side in front after just 48 seconds, before Ronaldo slotted a second from Marcelo's cross (27) and Toni Kroos curled in a sumptuous third (34).
Ronaldo headed in his second and Real's fourth (37) before a revitalised Sociedad pulled one back through substitute Jon Bautista (74).
But Ronaldo completed his hat-trick with a simple tap-in after Geronimo Rulli could not hold Gareth Bale's low drive (80).
Real Madrid: Navas (6), Carvajal (6), Sergio Ramos (7), Varane (6), Marcelo (7), Modric (7), Kroos (8), Lucas Vasquez (7), Asensio (7), Ronaldo (9), Benzema (6)
Subs: Isco (5), Kovacic (5), Bale (5)
Real Sociedad: Rulli (4), Odriozola (4), Aritz (4), Raul Navas (4), de la Bella (4), Illarramendi (5), Zurutuza (5), Prieto (5), Canales (5), Oyarzabal (5), Juanmi (5)
Subs: Bautista (7), Zubeldia (5), Guridi (N/A)
Man of the match: Cristiano Ronaldo
There was still time for Asier Illarramendi to net a further consolation for the visitors (83), but Real ran out convincing winners and moved above Valencia into third in the La Liga standings as a result.
Real could not have started the game in better fashion. Ronaldo made the most of an inadvertent touch from Aritz Elustondo to deliver a chipped cross that Vazquez headed home inside a minute.
The hosts were in charge from the off but it took until the 27th minute for them to add to their lead when Marcelo squared for the unmarked Ronaldo to slot home just inside the area, and seven minutes later Kroos curled a delightful third.
Ronaldo added his second of the evening and 10th league goal of the season soon after, when he powered a header over the line from Luka Modric's perfectly-weighted corner as Real went into the break in a commanding position.
But Sociedad looked refreshed after the break and were allowed increased freedom by their opponents - who perhaps had one eye on their midweek Champions League clash with Paris Saint-Germain - as Juanmi headed onto the base of the post.
Both sides made two changes. For the hosts, Zinedine Zidane started with Lucas Vazquez and Marco Asensio ahead of Gareth Bale and Casemiro, who both dropped to the bench. Sociedad meanwhile, swapped Igor Zubeldia and Willian Jose for David Zurutuza and Sergio Canales.
They managed to pull one back when Bautista picked up Mikel Oyarzabal's pass and tucked a composed effort past Keylor Navas, but Ronaldo grabbed his 43rd Real hat-trick and restored the four-goal advantage when he tapped home after Rulli had spilled Bale's effort.
As the hosts' backline switched off momentarily once more, Illarramendi bundled a scruffy volley past Navas from Juanmi's cross, but though Karim Benzema blazed over in the dying seconds, the three points were safe.
Man of the match - Cristiano Ronaldo
He may not have recorded as many goals as has become customary this season, but the Portuguese forward was in stellar form against Sociedad and looked hugely confident as his side reduced the gap on the La Liga summit.
Both sides are in European action next week; Real host PSG in the Champions League on Wednesday evening, with Sociedad also at home as they take on Red Bull Salzburg in the Europa League the following day.