The Blues would have progressed with a victory, but trailed within 39 seconds when Edin Dzeko flicked Aleksandar Kolarov’s cross down to Stephan El Shaarawy, who smashed home from 25 yards.
Alvaro Morata missed a huge chance to equalise from close range, and El Shaarawy made it 2-0 when ex-Roma defender Antonio Rudiger failed to deal with Radja Nainggolan’s long ball forward.
Chelsea had more shots – 14 to 13 – but were three behind when Diego Perotti cracked home from 20 yards after Blues defenders failed to close him down. Roma should have led 4-0 when Chelsea’s defenders all ran to Dzeko, who managed to square to a totally unmarked Perotti, but he fired over when he should have finished.
The Blues were hugely fortunate that Atletico Madrid’s failure to beat Qarabag – their game in the Spanish capital ended 1-1 – means Chelsea are still likely to qualify for the last 16 from Group C. Antonio Conte’s side are four points above third-placed Atletico.