Fiorentina have one foot in the Europa League quarter-finals after a blistering first-half display at Roma.
The game got off to a frantic pace, with Roma's Miralem Pjanic and Fiorentina's Mohamed Salah both coming close in the early minutes.
The visitors took the lead thanks to a Gonzalo Rodriguez penalty, after Jose Holebas was judged to have brought down Matias Fernandez in the box.
Marcos Alonso doubled Fiorentina's lead nine minutes later, capitalising on Lukasz Skorupski's error after the keeper tried to stop the ball from going out for a corner.
Fiorentina bagged their third when Jose Basanta headed in from a corner, resulting in boos from the home crowd as their side were left needing four goals to qualify.
With Fiorentina's three away goals, Roma were left with a mountain to climb as the sides head into the break.