Madrid looked set for an easy afternoon as Ronaldo scored two goals inside the first 20 minutes.
Cristiano Ronaldo struck twice as Real Madrid were thankful to a late missed penalty from Duje Cop to open up a seven-point lead over Barcelona at the top of La Liga with a 2-1 win over Sporting Gijon on Saturday.
Madrid looked set for an easy afternoon as Ronaldo opened the scoring from the penalty spot before he headed home a second inside 20 minutes.
However, Carlos Carmona halved Sporting's deficit 10 minutes before half-time and the struggling visitors were handed a huge chance for an unexpected point 12 minutes from time when Nacho brought down Victor Rodriguez.
Yet, Cop sent his penalty high and wide as Real held on amidst a torrential downpour to extend their unbeaten run to 31 games in all competitions.
Barca can cut the gap back to four points when they travel to Real Sociedad on Sunday ahead of the first Clasico of the season between Spanish football's two giants at the Camp Nou next weekend.
"It is a game for us to forget because things didn't go as we would have liked," said Madrid boss Zinedine Zidane.
"We lacked a little bit of everything, but we are happy to get the three points which is the most important thing."
Fresh from netting a hat-trick against Atletico Madrid last weekend, Ronaldo continued his return to scoring form with a quickfire double to move ahead of Lionel Messi and Luis Suarez as La Liga's top scorer.
Sporting had the first big chance to go in front when Carmona fired wide with just goalkeeper Keylor Navas to beat.
However, they were quickly behind when Lucas Vazquez was naively chopped down by Sergio Alvarez on five minutes and Ronaldo emphatically converted the resulting spot-kick.
The Portuguese's second finish was even more impressive as he buried Nacho's cross from the left with a powerful header that left Diego Marino no chance in the Sporting goal.
In between times Ronaldo had also headed wastefully wide when unmarked from a corner, while Marino parried another fierce effort as the three-time World Player of the Year chased his 40th hat-trick for Madrid.
Instead, it was Sporting who halved the arrears before half-time when a rare misplaced pass from Luka Modric allowed Isma Lopez to cross from the left and Carmona's outstretched leg prodded the ball past Navas.
In deteriorating conditions caused by the torrential rain, Madrid struggled to get going after the break.
Zidane withdrew captain Sergio Ramos with an eye on the Clasico against Barcelona next Saturday with the Spanish international a yellow card away from missing that game through suspension.
However, that decision nearly backfired as Nacho moved into central defence and quickly brought down Sporting substitute Victor Rodriguez inside the area.
Cop pardoned Nacho's mistake, though, as the Croatian lent back and sent the ball well wide of Navas's goal much to the relief of thousands inside the Bernabeu.
Ronaldo should have completed his hat-trick late on as he broke clear on goal, but his low shot was too close to Marino as Real had to see out a nervy final few minutes to secure a sixth straight La Liga win.
A 10th straight game without a win leaves Sporting still rooted in the bottom three.