The visitors were not content to sit back and defend, and spurned several chances to break the deadlock before Karim Benzema eased the tension around the Bernabeu with a clever finish in the 67th minute.
Ronaldo then bagged his 19th and 20th Primera Division goals of the season to settle any lingering nerves late on as Carlo Ancelotti's men once again closed the gap on the league's frontrunners, Barcelona and Atletico Madrid, to five points.
It was far from a dominant display by the Spanish giants, but they are now on a 13-game unbeaten run.
Real coach Carlo Ancelotti said: "The play was not that good in the first half, it was a little slow. After Christmas and the holidays it is normal for a team not to play with a lot of intensity. The most important thing was to win the match and we won well, especially with more intensity in the second half.
"The match showed that we had problems in defence and we need to improve the balance. But, to win the league, it is better to do it when you're up to speed. We are five points behind and we have to try to make them up by playing better."