Eusebio Di Francesco’s side had been coming off two league draws and a humiliating 7-1 Coppa Italia exit to Fiorentina.
Roma now occupy the final Champions League berth, a welcome boost ahead of their last 16, first leg tie against Porto next week in this season’s elite European competition.
“We could have scored a few more goals, but I hope we held them back for Porto,” said Di Francesco.
Chievo had held the Romans in their two previous meetings, battling back from two goals down to draw 2-2 in the Stadio Olimpico earlier this season.
This time Roma did not let their lead slip, after also throwing away a three-goal lead to be held by Atalanta two weeks ago.
Roma took control early with teenage striker Nicolo Zaniolo forcing goalkeeper Stefano Sorrentino to pull off a diving save.
El Shaarawy lobbed in the first after nine minutes with Dzeko adding the second goal ten minutes later.
Chievo lost defender Nicolas Frey who hobbled off with a leg injury before the break with Serbian defender Kolorav getting the third six minutes after the interval.
A well-worked Roma counterattack saw El Shaarawy came through for Dzeko to set up Kolarov who left Sorrentino helpless.
The Serb then turn to bow to Roma’s ultras fans who had criticised him.
“I think it was a great gesture, to apologise to the fans after what happened,” added Di Francesco of their struggles.
Dzeko and El Shaarawy both missed chances to double their tally rattling the woodwork late on.
Roma move up to fourth ahead of city rivals Lazio who had occupied the final Champions League berth overnight after a 1-0 win over Empoli on Thursday.
Behind runaway leaders Juventus — who have 60 points from 22 games — and travel to Sassuolo on Sunday, and second-placed Napoli, nine points behind, who play at Fiorentina, the remaining two tickets for the Champions League and the Europa League berths remain up for grabs.
Inter Milan, in third, are still looking for their first win of 2019 after being held by Sassuolo and defeats against Torino and Bologna with no goals scored.
Luciano Spalletti’s side have 40 points, but are now just two points ahead of Roma and Lazio.
AC Milan drop to sixth a further two points behind before their game against Cagliari on Sunday.