Antonio Conte’s reigning Premier League champions would have secured a last-16 spot with a win but that appeared a tall order from the moment El Shaarawy opened the scoring after 39 seconds.
For his second, El Shaarawy owed much to the charity of Antonio Rudiger, the Chelsea defender who endured a forgettable return to his former club, before Diego Perotti brought the house down with another stunning long ranger after the hour.
Roma were the side to come back from a hefty deficit when the sides drew 3-3 at Stamford Bridge two weeks ago but Chelsea were not such willing dance partners and must now dust themselves down for a crunch clash with Manchester United this weekend.
Eusebio Di Francesco’s hosts coughed up a chance from kick-off but found themselves a goal to the good inside a pulsating first minute.
Chelsea forward Pedro latched on to Tiemoue Bakayoko’s pass to shoot tamely at Alisson before Aleksandar Kolarov carried the ball forward in response and launched a searching pass from the left towards Edin Dzeko.
The striker misjudged the flight of the ball but it struck the back of his head and fell invitingly for El Shaarawy to lash home an unstoppable shot from 25 yards, with Thibaut Courtois rooted to the spot.
Chelsea responded well to the setback, with Eden Hazard to the fore.
The Belgium playmaker, so impressive in their win at Atletico Madrid last month, was forced a fraction wide before calling Alisson into action and the Brazil goalkeeper thwarted him once more in the 20th minute after some sparkling footwork left Alessandro Florenzi and Federico Fazio perplexed.
An ill-judged backpass across goal by Kolarov presented Alvaro Morata with a chance to level – the Spain striker blazing over – before Roma sprung forward to double their advantage nine minutes before the break.