The record 10 times European champions took the game to Roma, but were frustrated in the first half as the hosts kept men behind the ball, while looking to catch Real out on the break.

Ronaldo, however, ended their resistance when he took a fine pass from Marcelo on the left edge of the box and his shot deflected off Alessandro Florenzi and looped over goalkeeper Wojciech Szczesny into the net just before the hour mark.

Substitute Jese added the Spanish team's second four minutes from fulltime with a solo run into the box and shot across the face of goal and inside the far post.

Two minutes earlier, Real goalkeeper Keylor Navas came out sharply to save at the feet of Stephan El Shaarawy after one of Roma's fast and dangerous counter-attacks.

Ronaldo might have had a second goal a quarter of an hour from the end but his header at the far post was just wide from James Rodriguez's superb cross.

Karim Benzema then saw his goalbound shot from another James cross hit Lucas Digne in the head.

At the other end, Roma substitute Edin Dzeko hit the side-netting with a header and Real were relieved when the home side were not awarded a penalty after a tackle by Dani Carvajal on Florenzi.