The 12-time European champions went through 5-2 on aggregate.
Ronaldo headed home seven minutes into the second half and Casemiro added a second 10 minutes from time against a toothless PSG, who were without their injured talisman Neymar.
They also had Marco Verratti sent off for a second booking in the 66th minute to compound their woes.
Ronaldo scored for the ninth UEFA Champions League game in a row, matching Ruud van Nistelrooy’s record in the competition.
PSG striker Edinson Cavani equalised with 19 minutes left, only for Casemiro to give Real victory at the Parc des Princes.
Zinedine Zidane’s side, who are 15 points adrift of arch-rivals FC Barcelona in La Liga but aiming for their third straight UEFA Champions League crown, were solid throughout.
The home side rarely threatened and Real Madrid fully deserved their win.
With Toni Kroos and Luka Modric starting on the bench after returning from injury, Real struggled to control the midfield but PSG did not threaten in a dull start to the game.
Real had a great opportunity in the 20th minute, but PSG goalkeeper Alphonse Areola pulled off a superb save as he parried Sergio Ramos’s effort from close range.
The visitors had another chance in the 38th when Karim Benzema’s curled shot was saved by Areola.
PSG had their first big chance on the stroke of halftime as Kylian Mbappe burst down the right flank, only for his low shot to be blocked by goalkeeper Keylor Navas.
The stadium announcer asked the PSG fans to stop lighting flares at the start of the second half, with smoke having covered part of the pitch.
But that did not stop Real being the most dangerous side again, Ronaldo’s header from near the penalty spot shaving Areola’s right-hand post.
The Portuguese was spot on in the 52nd minute, beating Areola with a downward header from Lucas Vazquez’s cross from the left.
PSG coach Unai Emery is under pressure a year after his side lost 6-1 at Barca in the last 16 following a 4-0 home win in the first leg.
He replaced holding midfielder Thiago Motta with the more creative Javier Pastore on the hour.
But PSG finished the match with 10 men after combative midfielder Verratti picked up a second yellow card.
They levelled in the 71st when the ball deflected into the net off Cavani to give the home fans a glimmer of hope.
However, that was short-lived as Casemiro’s shot in the 80th minute took a slight deflection off Marquinhos to earn the win as Real made the quarter-finals for the eighth straight season.