The Portuguese scored early in both halves with brilliant efforts, with Sergio Ramos and Daniel Carvajal wrapping up the win as the game wound down
After declaring he was in "perfect condition" in the build-up to Saturday's match, Ronaldo proved it on the pitch with a dazzling display and two goals, before being taken off in preparation for Tuesday's Champions League semi-final second leg at Bayern Munich.
His sixth-minute strike gave Andres Fernandez no chance as it flew into the back of the net from long range and he created a handful of chances for his team-mates that were wasted.
Osasuna rarely threatened Diego Lopez and they were unable to bring the goalkeeper into action when they did have a sight of goal.
Ronaldo secured the points early in the second half with his 30th league goal of the season and Sergio Ramos added a third on the hour.
Daniel Carvajal scored a late header to underline the Blancos' dominance and keep the heat on Atletico Madrid and Barcelona in the title race, the pair facing respective trips to Valencia and Villarreal on Sunday.
Osasuna remain firmly in the relegation fight, just three points above the drop zone.
With one eye on Tuesday's trip to the Allianz Arena, which Madrid will enter 1-0 up, Carlo Ancelotti made six changes to his starting line-up but it was a man who featured in their semi-final first leg that opened the scoring.
A subdued Ronaldo did not look fully fit last week but he proved he was back to his best early on as he cut in from the left and sent a 25-yard strike arrowing into the top corner.
The Portugal captain was involved in every dangerous attack from Madrid and twice laid chances on for Ramos, though he could not capitalise.
Three minutes into the second half, Osasuna went close to a surprise leveller as Emiliano Armenteros acrobatically met a left-wing cross, however his effort was just wide.
Ronaldo showed him how it was done in the 53rd minute as he doubled his tally a sublime strike from the edge of the penalty area.
Again the 29-year-old cut in from the left with his sights set on the top corner, and he showed unerring accuracy to send the ball screaming past Andres.
Having wasted chances in the first half, Ramos finally got his name on the scoresheet as he charged into the penalty area to meet Angel di Maria's cross.
With the game won Ancelotti took the chance to give Ronaldo, Di Maria and Luka Modric a rest to ensure they are ready for their midweek test in Germany.
One of the substitutes made an immediate impact as Carvajal, who had replaced Di Maria, escaped the attentions of Osasuna's defenders and lobbed a header over Fernandez from Isco's chipped pass.