Real made the early in-roads, with captain Sergio Ramos getting on the end of a header at the near post in the opening minutes.
Before then, exquisite ball-control from Gareth Bale en-route to goal saw him shot narrowly wide with a left-footed strike.
Roma managed the situation well, but looked laboured upfront, though Cengiz Under out-sprinted the defence on the left and shot wide from afar.
Real were asking all the questions, and a low cross from Marcelo, put Rob Olsen in a spot of bother before he eventually palmed away for a corner.
From the corner, Ramos' header forced a stunning acrobatic save from Olsen as their frustrations to break the deadlock continued.
The Spaniards were ahead a minute to the break after Isco tucked home a delightful free-kick on the edge of the box.
The game was virtually put to bed 13 minutes to the start of the second half, with Bale finishing off with a left-footed strike after sprinting down to get on to a pass from Luka Modric.
Roma refused to receive further badgering and Under cut inside to force Keylor Navas to parry to touch from inside the box.
Olsen was kept busy again, after being called to block Modric’s shot away from danger, before Aleksandr Kolarov then forced Olsen to a smart save at the other end.
Los Blancos gradually managed the pace of the game with Roma being off little threat on all fronts, while Mariano Diaz came off the bench to curl in an audacious top drawer to round off the win.