The Ballon d'Or winner curled a right-rooted effort into the top corner after six minutes and Real spurned a host of chances to extend their advantage before the interval.
But two goals in nine second-half minutes put the result beyond doubt, with Ronaldo finding another magnificent finish after 52 minutes and Sergio Ramos converting Angel Di Maria's cross from close range.
Isco teed up Daniel Carvajal to complete the scoring and Real now sit three points behind leaders Atletico Madrid and one above Barcelona ahead of their title rivals' respective matches at Valencia and Villarreal tomorrow.
Osasuna have won just once in their past 10 matches and sit three points above the drop zone, but the picture at the wrong end of the table became clearer as Getafe overcome Malaga 1-0 to confirm Real Betis' relegation.
Betis entered this weekend's round of fixtures knowing three points for Getafe or Valladolid would confirm their inevitable relegation.
The former delivered as Adrian Colunga's eighth-minute strike earned three points for Cosmin Contra's men at Coliseum Alfonso Perez, despite Romanian striker Ciprian Marica seeing red for a second yellow card in the 37th minute.
Getafe's victory lifts them out of the bottom three, although Real Valladolid hold two games in hand and 19th-placed Almeria travel to Espanyol on Sunday.
It meant a Betis team contemplating the end of a three-season stay in the top flight on the back of 22 defeats spread across three managers this term were left playing for pride in the late kick-off against Real Sociedad.
Even that proved elusive as Carlos Vela converted a second-half penalty to secure Sociedad's place in next season's UEFA Europa League with a 1-0 victory.
Elsewhere, Rayo Vallecano claimed a seventh win in 10 games with a 3-0 triumph over 10-man Granada.
The game was goalless when Yacine Brahimi, who earlier struck the crossbar, collected his second booking in the 52nd minute.
Rayo capitalised ruthlessly as Atletico Madrid loanee Saul fired home sensationally from 30 yards and top scorer Joaquin Larrivey netted for the third time in as many matches five minutes later.
Sebastian Fernandez headed his first goal in over two years to complete the scoring and leave Granada five points clear of the relegation places.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.