Ronaldo, one booking away from missing the Clasico, was disappointing for the most part but grabbed his 41st league goal of the season with 16 minutes remaining as Madrid overcame a scare, having trailed for seven minutes to a Miguel de las Cuevas penalty on the half hour.
Gonzalo Higuain had cancelled that out, with Karim Benzema adding a late third after Roberto Canella was sent off for the visitors, the victory taking Real to another record of 107 Liga goals in a season, level with that set by John Toshack’s side from the early Nineties.
The win means Real went points clear of second-placed Barcelona, although their Clasico rivals beat Levante immediately afterwards to restore the gap to four points: next weekend’s clash of the titans is the 34th Liga match of the season, and if Madrid avoid defeat they will surely wrestle the title from Barca.
Sporting, meanwhile, lie seven points shy of safety with five matches left, all-but condemned to relegation and second bottom behind Real Zaragoza on the head-to-head rule.
Real were sluggish for much of the game, lacking the passing vision of the suspended Xabi Alonso, replacement Nuri Sahin handed a rare start but mostly falling short of the absent Spaniard.
Sporting, all-but relegated, packed the defence and impressed on the break, creating the first real chance when Oscar Trejo put his finish too close to Iker Casillas after sloppy defending from Alvaro Arbeloa.
As Real toiled, Higuain had a 28th-minute goal chalked off for offside; within seconds the visitors had won a penalty after Sergio Ramos handled following Trejo’s mazy run.
Former Atletico Madrid midfielder De las Cuevas stepped up and, amidst the jeers, finished with aplomb, the ex-Atletico Madrid midfielder sending Casillas to his right and the ball down the middle.
Jose Mourinho was apoplectic, exploding from his dugout on several occasions in the half, but his side quickly equalised when Ramos - playing almost as an attacking midfielder as he attempted to Atone for his error - swung in a superb cross that Higuain met flashed past Juan Pablo, the Argentine’s diagonal run giving him a free header.
That sparked Real back into action, the hosts creating two more chances before the break as Jose Callejon put wide from another fine Ramos centre, while Sahin swung a wicked free-kick off the crossbar.
Mourinho appeared to care little for those two opportunities, replacing both Callejon and Sahin at half-time with Angel di Maria and Benzema, a tactic he frequently employs when his teams are toiling.
But it had little initial impact as Madrid continued to toil, Ronaldo barely visible and his team-mates frustrated by a deep-lying and hard-working Sporting, who - on 57 minutes - replaced lone striker Gaston Sangoy with midfielder Andre Castro in a move of alarming negativity that for 10 minutes had them at a 5-5-0 formation.
Ronaldo, incredible in the thrashing of Atletico last time out, was nowhere near the target with a selection of free-kicks and long shots and his side struggled to break down the third-worst team in La Liga.
Sporting, who had played for 10 minutes with no striker, did bring on David Barral but his role was primarily to close down Ramos and co, who were heavily involved in Madrid’s attacks.
Down the other end it took until the 71st minute for the hosts to create a second-half chance of note as Higuain blasted wide from a Ronaldo through-ball.
However Real have more than most in one department - sudden match-winners - and, in a poor game by his standards, Ronaldo proved just that as he flew in to head Di Maria’s cross in off the post on 74 minutes.
Any hopes of a Sporting fightback were ended when skipper Canella, booked in the first half and lucky to avoid an immediate second yellow, was finally dismissed after a needless challenge from behind on Di Maria.
And Mourinho’s other sub, Benzema, completed the victory with eight minutes left, controlling a fine Mesut Ozil pass before firing a low finish into the same corner Ronaldo had aimed his header at eight minutes earlier.