Real still need to beat Borussia Dortmund at home in two weeks' time to top Group F.
However, victory came at a cost for the European champions as Gareth Bale limped off just before the hour mark with an ankle injury just 11 days before Real travel to face Barcelona in El Clasico.
Real had substitute Karim Benzema to thank for all three points as he came off the bench to down Sporting's 10 men with a fine finish from Sergio Ramos's cross.
Raphael Varane had fired Real into a first-half lead, but Sporting captain Adrien Silva levelled from the penalty spot after Joao Pereira had seen a straight red card.
Real still need to beat Borussia Dortmund at home in two weeks' time to top Group F after the Germans thrashed Legia Warsaw 8-4.
"The good thing is we didn't give up," said a relieved Madrid boss Zinedine Zidane.
"When you concede you can think it is going to be difficult, but we kept going and in the end got the goal through Karim. I am happy for him and the team as a whole."
Ronaldo's name was loudly cheered amidst the otherwise din of whistles that greeted the announcement of the Real team, whilst a banner with the message "Made in Sporting" was raised by the home fans with a picture of a teenage Ronaldo in their famous green and white hooped shirt.
Despite leaving Sporting for Manchester United at just 18 having not even won a trophy with the Portuguese giants, Ronaldo is revered in Lisbon having captained his country to a first ever international tournament win at Euro 2016.
The affection shown may even have had an effect on the normally ruthless Ronaldo as for the first time in four meetings against Sporting he failed to find the net.
After an intense Sporting start buoyed by a boisterous atmosphere, the holders slowly grabbed a stranglehold of the game and went in front on 29 minutes when Luka Modric's low free-kick was deflected into Varane's path and the French international swept home his third goal of the season.
Madrid captain Ramos was making his first appearance in six weeks after spraining knee ligaments and came to his side's rescue moments later to deflect Bruno Cesar's goalbound shot behind.
Real were put under pressure at the start of the second period as Ramos cleared a dangerous cross from Gelson Martins and further disrupted as Bale hobbled off.
Zidane confirmed that further tests will be carried out on the Welshman back in Madrid to determine the extent of the injury.
However, Sporting's chances looked to have gone when Pereira was harshly shown red for an off-the-ball clash with Mateo Kovacic.
Despite their numerical disadvantage, Sporting were level 10 minutes from time when Silva blasted home from the penalty spot after substitute Fabio Coentrao had been penalised for handball.
Joel Campbell even had an effort saved by Costa Rican international teammate Keylor Navas as Sporting searched for the winner they needed to keep their Champions League hopes alive.
Instead, they were hit with a Real sucker punch as Benzema fired low into the far corner to set up a shootout with Dortmund for top spot in a fortnight.