Two late Real Madrid goals earned the reigning Champions League holders a 3-1 home victory over Paris St Germain in the first leg of their last-16 tie.

Zinedine Zidane's side had fallen behind to Adrien Rabiot's opener before Cristiano Ronaldo levelled from the penalty spot prior to the break.

Zidane, under increasing pressure due to Real's domestic struggles, then introduced Marco Asensio with 11 minutes to go and the substitute's cross was eventually turned in by Ronaldo's knee, with another Asensio cross then finished by Marcelo for the second goal in three minutes.

Real started the game with real intent, pressing high up and appealing, in vain, for a penalty inside 70 seconds when Toni Kroos went down.

Isco, preferred to Gareth Bale, set up Ronaldo for a half volley that he flashed wide before Kroos' effort from a short corner was saved by Alphonse Areola.

PSG were getting some joy down the left with Neymar, but the Brazilian earned himself an early caution with a hack at Nacho.

Neymar should have done better when instigating a three-on-two attack and he appeared caught in two minds between shooting and passing to Kylian Mbappe before Real cleared and immediately broke.

A brilliant Marcelo pass released Ronaldo and his first one-on-one opportunity was blazed into Areola's face as the keeper came out.

Sergio Ramos nodded a Kroos corner at the PSG stopper too before the visitors struck first at the other end.

Dani Alves' cross was intended for Edinson Cavani but he stepped over it and though Nacho prevented Neymar from reaching the ball, Rabiot was left all alone on the edge of the box to plant a right-footed finish home.

Ronaldo should have equalised shortly after, and perhaps did not realise he had as much time and space as he did when firing over.

However, the hosts would level prior to the interval when they won a penalty on the stroke of half-time.

Kroos got the ball from another short corner and Giovani Lo Celso, who had already been booked, put his left hand on the German's shoulder to pull him to the ground.

Areola guessed right from the spot yet was powerless to prevent Ronaldo's vicious penalty going beyond him to make it 1-1.

PSG had the better of the second half and could have swiftly restored their lead had Keylor Navas not reacted quickly to push out Mbappe's low drive.

Neymar could consider himself fortunate he was not dismissed for two yellow cards just after the hour mark having clearly dived when trying to win a free-kick off Casemiro.

Referee Gianluca Rocchi did not award a free-kick either way and then caught a Neymar pass on the side of the head moments later.

Despite Bale's introduction, it looked liked the French side would end the night as winners as Ramos blocked from Presnel Kimpembe and Alves nearly reached Yuri Berchiche's cross.

However, Asensio's arrival in the 79th minute proved pivotal.

It was his 83rd-minute delivery across the six-yard box that Areola turned onto Ronaldo's knee, with the ball looping up over the line to give Real the lead.

Then, with four minutes to go, Asensio crossed again from the left and Marcelo's first-time finish beat Areola again to ensure Real will head to France with a first-leg lead.