Below strength Real Madrid did enough to take three points from their visit to La Liga’s bottom side Levante.
Ronaldo netted just past the half-hour mark after Lucas Orban tripped Lucas Perez in the penalty area, about as clear a penalty as there’s likely to be.
But Levante more than held their own and indeed, Keylor Navas, on his return to Ciutat de Valencia, was the busier goalkeeper for much of the match.
Diego Marino got no luck when Mayoral struck the post and the ball rebounded in off him, but Deyverson almost immediately put his side back in the tie, but Levante ended without anything to show for their efforts.
Isco sealed the points in added time for a Madrid shorn of some regulars, and the spark they often bring.
Madrid, without Sergio Ramos, Dani Carvajal, Luka Modric, Gareth Bale and Karim Benzema, named an unfamiliar side with teenager Borja Mayoral starting. Levante, meanwhile, made two changes from the side beaten by Villarreal.
It was Levante who started on the front foot, Giuseppe Rossi drawing a fine save from Keylor Navas and the Costa Rica international.
Madrid forced a few corners and Ronaldo sent an effort wide of goal but it was tepid stuff, best perhaps summed up by James Rodriguez’s over-hit cross when Los Blancos outnumbered Levante on the break.
Ronaldo’s free header went over the bar and the Portuguese, who stirred controversy with his comments after the Madrid derby, made his frustration – with himself, this time – clear.
The Portuguese perhaps took that frustration out on the ball when lashing past Diego Marino from 12 yards, having brought Marino into action a few minutes before.
Mayoral’s fine turn-and-shot was rewarded with the good fortune of some Marino pinball but Madrid’s two-goal lead didn’t last as Giuseppe Rossi bundled his way through and Deyverson scored.
Levante started the second half well but James went closest, a shot from the edge of the box nearly dropping in via a deflection, and Nacho also had Merino fully extended.
Ivan Lopez’s devilish cross nearly gave Deyverson a second goal before Ronaldo nearly got his second from James’ lovely floated pass, but the post intervened.
Ronaldo missed the woodwork with his next effort of note, a fierce and well-struck shot that shaved the frame of the goal and couldn’t have missed by any more.
Navas had to be alert when Ruben Garcia’s shot was deflected and Levante had Madrid worried from the resulting corner as well, but the lead held and was added to when Isco met Ronaldo’s cut-back.
Levante 1-3 Real Madrid
Ronaldo 34, Marino og 37 (RM), Deyverson 39 (L), Isco 90+2 (RM)
Levante: Marino; Lopez, Feddal, Medjani, Orban; Simao (Verza 67); Lerma, Camarasa (Ruben 73), Morales; Deyverson, Rossi (Casadesus 63)
Real Madrid: Navas; Danilo, Varane, Pepe, Nacho; Casemiro (Kovacic 74), Kroos; Lucas, James (Isco 80), Ronaldo; Mayoral (Jese 85)
Referee: Ricardo de Burgos Bengoetxea