The Giallorossi were made to work for the three points in their final home game of 2019, after Andrea Petagna converted a penalty against the run of play at the end of the first half.
But Lorenzo Pellegrini's deflected strike got Paulo Fonseca's side back on level terms just minutes into the second half, and a nerveless penalty from Diego Perotti gave them the advantage soon after.
With time running out, Henrikh Mkhitaryan then converted from close range to wrap up an important three points.
This content is provided by a third party. Because of the choice you have made about cookies on our
website, the external site does not have permission to display here.
If you would like to see the content, please change your cookie choices using either of the buttons
shown.
Roma certainly dominated the game from start to finish, although in the first half they struggled to make the most of their dominance - and even found themselves going into the break behind.
Aleksandar Kolarov clumsily felled Thiago Cionek inside the box - with Petagna making no mistake from 12 yards.
The Giallorossi needed a response in the second half and fast; and it was Pellegrini who provided it, although there was an element of luck to his equaliser.
The midfielder's drive looked goalbound even before taking a wicked deflection off the covering defender, an intervention that sent the ball soaring inside the opposite post.
A clumsy foul from Francesco Vicari on Edin Dzeko - making his 200th appearance for Roma - then allowed Perotti to give his side the lead, before substitute Mkhitaryan wrapped things up from close range after Alessandro Florenzi served him the ball on a plate.
Roma have one game left in 2019 - they travel to Florence on Friday to face Fiorentina.
I confirm that I have read the privacy policy.
© 2018-2024 Soccer S.r.l. – EU VAT IT09305501000 - all rights reserved. The AS Roma names, logos and artwork are registered or unregistered trademarks of Soccer S.r.l. All other trademarks may be the property of their respective holders.