The midfielder put the hosts in front from the spot on the brink of half time, but they were pegged back after the break by a Nikola Milenkovic header.
Fiorentina were outraged by referee Daniele Chiffi’s decision to award another penalty with just five minutes remaining when goalkeeper Pietro Terracciano was adjudged to have fouled Edin Dzeko as he closed down the striker’s shot.
Veretout converted to stretch Roma’s lead over AC Milan to four points with two rounds remaining.
A poor first half exploded into life just before the break when Pol Lirola tripped Bruno Peres in the box to give Veretout the chance to calmly convert the opening goal from the spot against his former club.
But Fiorentina almost immediately replied when German Pezzella’s volley from a deep free kick came off the post, before Gianluca Mancini’s headed goal was disallowed for offside.
La Viola drew level 10 minutes into the second half by capitalising from a corner kick, as Milenkovic rose to power a header beyond the diving Pau Lopez.
But there was late controversy when the hosts were awarded a soft second penalty, which Veretout tucked away.