Match ends, Roma 0, Real Madrid 2.
Roma 0-2 Real Madrid: Bale goal helps holders through as group winners
Gareth Bale's goal set Real Madrid on their way to victory over Roma in the Champions League as they cemented their position at the top of Group G.
Bale capitalised on a defensive error from home defender Federico Fazio to put the holders in front against the run of play after the break.
Spain winger Lucas Vazquez ensured the La Liga side claimed all three points, tapping in from close range after Karim Benzema's cushioned pass from a Luka Modric cross.
Earlier Viktoria Plzen's 2-1 victory at CSKA Moscow had confirmed both clubs would progress to the knockout stage with a game to spare.
For Madrid that represented a 15th consecutive season in which they had reached the last 16 of the competition since the current format was introduced in 2003-04.
There was though a question mark over who would qualify as group winners - with Real and Roma both starting the game on nine points.
Real, holding the upper-hand on head-to-head criteria after their 3-0 win in the reverse fixture, survived an attacking barrage from the hosts before securing top spot.
Prior to kick-off the packed Stadio Olimpico rose as one to acclaim club legend Francesco Totti, with the 42-year-old inducted in the club's Hall of Fame.
Totti spent his entire 24-year playing career with the Italian club before retiring in May 2017 after scoring 307 goals in 786 appearances.
- Relive tonight's Champions League games
- Champions League permutations: Who needs what?
- Listen: Football Daily podcast after dramatic Champions League night
Clinical Madrid have too much
Roma coach Eusebio di Francesco had questioned his team's determination after a 1-0 defeat at Udinese on Saturday.
However, there was no lack of effort against last season's Champions League winners - just a lack of end product, which was exacerbated by the absence of Edin Dzeko, who was injured in Udine.
At 32, the Bosnian forward has shown that he is not in the twilight of his career just yet, scoring five times in this year's competition.
But his replacement, 22-year-old Czech Republic forward Patrik Schick is yet to open his account in Europe, after nine games across the Champions League and Europa League.
While Schick linked play and had three shots on target, two of those were miscued efforts from close range that could have put the Italians ahead.
Fazio, Aleksandar Kolarov and Cengiz Under also went close to scoring for the hosts, with the unmarked Turkey winger blazing over from six yards out on the stroke of half time.
That proved a key turning point, with Bale scoring from his first shot of the night within two minutes of the restart, and Vazquez repeating that feat later.
While Roma found the target with just five of their 17 shots, seven of Real's 12 efforts forced home goalkeeper Robin Olsen into saves.
Madrid march on again - the stats
- Real Madrid are the only team to reach the knockout stages of the Champions League in every season in the current format (since 2003-04).
- Madrid have won five of their six away games against Roma (all Champions League), with the exception being a 1-2 loss in February 2008.
- Roma have lost each of their last four meetings with Real Madrid, failing to score in each match.
- Gareth Bale has had a hand in seven goals in his last five Champions League games (5 goals, 2 assists).
- Lucas Vazquez scored his first goal in 10 Champions League appearances, since netting versus Borussia Dortmund in December 2017.
- 42NzonziSubstituted forCoricat 64'minutes
- 22ZanioloBooked at 42minsSubstituted forKarsdorpat 69'minutes
- 92El ShaarawySubstituted forKluivertat 22'minutes
- 5Nunes Jesus
- 5VaraneBooked at 90mins
- 10ModricBooked at 21minsSubstituted forValverdeat 80'minutes
- 9BenzemaSubstituted forMarianoat 77'minutes
- 11BaleSubstituted forAsensioat 84'minutes
- 28Vinícius Júnior
- 31Sánchez de Felipe
- Clément Turpin
- Shots on Target
Second Half ends, Roma 0, Real Madrid 2.
Attempt blocked. Aleksandar Kolarov (Roma) left footed shot from outside the box is blocked.
Raphael Varane (Real Madrid) is shown the yellow card for a bad foul.
Foul by Raphael Varane (Real Madrid).
Patrik Schick (Roma) wins a free kick in the attacking half.
Foul by Mariano (Real Madrid).
Rick Karsdorp (Roma) wins a free kick in the defensive half.
Attempt missed. Patrik Schick (Roma) header from the centre of the box misses to the right. Assisted by Alessandro Florenzi with a cross following a corner.
Corner, Roma. Conceded by Sergio Ramos.
Offside, Real Madrid. Thibaut Courtois tries a through ball, but Mariano is caught offside.
Corner, Real Madrid. Conceded by Federico Fazio.
Attempt blocked. Federico Valverde (Real Madrid) right footed shot from outside the box is blocked. Assisted by Marco Asensio.
Foul by Marcos Llorente (Real Madrid).
Aleksandar Kolarov (Roma) wins a free kick in the defensive half.
Attempt blocked. Marcos Llorente (Real Madrid) right footed shot from outside the box is blocked. Assisted by Federico Valverde.
Toni Kroos (Real Madrid) wins a free kick on the left wing.
Foul by Ante Coric (Roma).
Offside, Real Madrid. Toni Kroos tries a through ball, but Marcelo is caught offside.
Foul by Toni Kroos (Real Madrid).