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 - and a win in their next Champions League game at Qarabag (17:00 GMT on Wednesday, 22 November) will take them through.
Roma, who are fifth in Serie A, now lead the group by a point. PLACE YOUR TEXT ADVERT BELOW:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> How I Made Me =N=2.5 MILLION In 7 Days from 2 Common Product I Imported and how you can do the same. Click HERE FOR FREE Details right now Warning To Men: This 3 Foods Is Killing Your Erection. Click Here To Know Them Secret Fruits that increased my Manhood and makes me last 55 minutes+ all time - Click here to get it Warning: Got Arthritis? 3 Simple Ways To Get Cured And Be Permanently Free From Joint Pains. Click Here To See Them REVEALED!! Reduce Your Blood Sugar Level And Reverse Diabetics Within A Short Period Of Time. Click Here To See How MIDNIGHT,Pressed Mr Kilanko Suddenly Couldn't Urinate. Shrink your Enlarged Prostrate Here! Click Here Now