The Giallorossi squandered a host of second-half chances and were reduced to nine men late on when Rodrigo Taddei and Dodo were dismissed as well Fiorentina's Cuadrado, but Vincenzo Montella's side managed to hold on to secure a semi-final clash against Inter.It was the home side which impressed during the early stages of the match with Borja Valero pulling the strings in midfield and Vincenzo Montella's side nearly took an early lead when former-Roma midfielder Alberto Alquilani forced Mauro Goicoechea into a smart save at his near post.
Roma, which dispatched of Fiorentina 3-0 in last season's Coppa Italia, began to settle into the game having survived an early spell of pressure and Zdenek Zeman's side went within inches of scoring in the seventh minute when Daniele De Rossi rose above Nenad Tomovic to meet Miralem Pjanic's corner but his glancing header flashed narrowly past the post, with Norberto Neto flat-footed in the Viola goal.
With absence of the injured Francesco Totti and the suspended duo of Pablo Daniel Osvaldo and Erik Lamela, Zdenek Zeman raised a few eyebrows by electing for an unconventional 3-4-3 formation and the makeshift attacking trident of Miralem Pjanic, Mattia Destro and Alessandro Florenzi caused the Fiorentina backline problems. Florenzi was the next to test Neto on 14 minutes when his fierce shot was parried into the path of Pjanic but the Bosnian was denied what seemed a certain goal by a wonderful goal-line clearance from Gonzalo.
Both sides pushed forward in search of the all-important opener but Stefan Jovetic's long-range effort and Luca Toni's header were both well saved by Mauro Goicoechea, the Uruguayan goalkeeper producing another solid display to show just why is keeping Maarten Stekelenburg on the sidelines.
Fiorentina was nearly master of its own downfall when Stefan Savic's weak pass was seized upon by Mattia Destro but the Montenegrin defender's blushes were spared as he witnessed the Roma forward drag his shot just wide of Neto's goal.
The best chance of the first half came five minutes before the break however when Stefan Jovetic was fouled on the outside of the Roma box. Alberto Alquilani stepped up to execute the set piece only to see his curling effort rattle the crossbar with Goicoechea beaten, ensuring both teams went into the halftime break goalless.
The second half did not continue in the same action-packed manner of the first half however with chances few and far between, although Roma really should have taken the lead on 48 minutes when Destro capitalized on a woeful backpass from Tomovic and he squared the ball unselfishly across goal for Florenzi but the 21-year-old's effort somehow deflected off the midriff of Neto and over the crossbar when the net really should have been bulging.
Both sides have suffered poor starts to 2013 with back-to-back league defeats and there was certainly a lack of creativity and quality in the final third, with neither goalkeeper really troubled as the game bumbled along towards extra time.
The game suddenly sparked into life late on and Roma thought they had nicked the victory on 79 minutes when De Rossi powered a header past Neto from Pjanic's teasing free-kick but the assistant adjudged the Roma midfielder to have strayed marginally offside.
The away side continued to press in search of a late winner and it was nearly gifted it when a defensive lapse from Gonzalo allowed Destro an opportunity on goal but he wastefully blasted a left-footed strike over the bar when he ought to have hit the target.
Roma was nearly made to rue its profligacy in front of goal in the last minute of normal time when Borja Valero met Jovetic's knockdown with a stunning left-footed half-volley which thundered against the outside of the upright.
But there was still time for one last chance at the death when Destro raced through on goal but his chipped effort over Neto was prevented by a last-ditch headed clearance from Savic to take the game into extra time.
However, Destro was not to be denied his name on the scoresheet as he got ahead of his marker to sweep home Pjanic's low cross from close-range on 96 minutes to keep Roma's hopes of a record tenth Coppa Italia title alive.
Fiorentina refused to give up hope of a comeback however and Alquilani had a free kick palmed over the crossbar by Goicoechea before Juan Cuadrado's sweetly-struck volley crashed against the inside of the post.
There was late drama as Roma was reduced to 10 men when substitute Rodrigo Taddei received a second yellow card for hauling down Borja Valero on 117 minutes before a heated confrontation between Dodo and Cuadrado in the 122nd minute resulted in the referee brandishing two further red cards. Tensions poured over at the final whistle as Roma secured its progress to the semifinals.
Follow GOAL.COM on Twitter