Adrien Rabiot's away goal had put the Ligue 1 leaders in front in the Champions League last-16 tie, but Ronaldo's double and Marcelo's late strike gave the home side the victory.
The clash has been billed as potentially critical to the futures of head coaches Zinedine Zidane and Unai Emery, with both under pressure to deliver the biggest prize in European football this season, but the Madrid boss will be the happier ahead of the return fixture at Parc des Princes.
Madrid, winners of the tournament in three of the last four years, were the stronger side in the opening half-hour but suffered a blow when Rabiot broke the deadlock 33 minutes in.
The visitors had defended well in the absence of captain Thiago Silva, who was benched in favour of Presnel Kimpembe, but Ronaldo made no mistake from the penalty spot to make it 1-1 with his 100th goal in the competition for Madrid.
Ronaldo added a fortunate second before Marcelo struck a third just three minutes later, as the holders secured a valuable first-leg lead ahead of the visit to the French capital on March 6.
Madrid made a flying start but the game soon became a little cagier, with neither team eager to over-commit in attack, and a frustrating opening 20 minutes for Neymar was compounded when he was booked for kicking Nacho Fernandez.
Ronaldo was denied by Alphonse Areola with the first clear chance of the match, the PSG goalkeeper racing out to block his effort from Marcelo's brilliant pass, but Rabiot made the most of the visitors' best opening of the half.
Nacho cut out Kylian Mbappe's cross but only turned it into the path of Rabiot, who swept the ball past Keylor Navas from just inside the box.
Ronaldo fired over from another promising opening but he drew the home side level a minute before the interval, blasting into the bottom-left corner from the penalty spot after Giovani Lo Celso had tugged back Toni Kroos in the box.
It was an equaliser the home side deserved but they could have been behind three minutes into the second half, with Navas making a good low stop from Mbappe after he was played into space by Neymar, a man heavily linked with a move to Madrid at the end of the season.
The second half was a nervier affair but Dani Alves was just inches from making it 2-1, the Brazilian failing to connect with Yuri Berchiche's cross-cum-shot from the left of the box.
But PSG, dumped out by Barcelona after a 6-1 second-leg defeat in the round of 16 last year, suffered another late collapse to hand Madrid the advantage.
Ronaldo was on hand to knee the ball into the net after Areola parried Marco Asensio's cross, and Marcelo combined brilliantly with the Spain winger down the left before firing in a deflected effort to secure a two-goal lead.