Real were virtually assured of a place in the last eight after thrashing the Bundesliga side 6-1 in Gelsenkirchen in the first leg and coach Carlo Ancelotti rested a host of regulars for the return at the Bernabeu with an eye on Sunday's league derby against Barcelona.
Gareth Bale set up Ronaldo for Real's 21st-minute opener but Schalke levelled 10 minutes later when a long-range Tim Hoogland effort deflected off Sergio Ramos and bounced past the stranded Iker Casillas.
Ronaldo took his tally in this edition of Europe's elite club competition to 13 goals with his second of the night in the 74th minute. Alvaro Morata added a third for Real a minute later after a Ronaldo effort came back off the crossbar.
It was Real's biggest aggregate Champions League win, bettering their 8-2 victory over APOEL Nicosia in 2011-12.
Ronaldo's double meant he surpassed his previous best Champions League haul of 12 from last season and he has 41 in all competitions for Real, the Primera Division leaders.
The world's richest club are bidding to reach the semi-finals for a third consecutive season and chase the 10th European crown that has eluded them since they last won the Champions League in 2002.
"The best thing about this competition," said Ramos, "is the big games, against the big rivals. We don't have a preference for any team, we will see what fate offers us."
The only downside for Real was an injury to this season's rising star, Jese, who will likely miss El Clasico. "They've told us already that it could be serious," said Ramos. "He was in a good moment in his career, contributing a lot to the team."
But Madrid march on, in pursuit of their elusive 'decima'. Few would bet against them.