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 Zdenek Zeman's side managed to hold on to secure a semi-final clash against Inter.It was the home side who impressed during the early stages of the match, with Borja Valero pulling the strings in midfield and Vincenzo Montella's hosts nearly took an early lead when former Roma midfielder Alberto Aquilani forced Mauro Goicoechea into a smart save at his near post.
Roma, who dispatched Fiorentina 3-0 in last season's Coppa Italia, began to settle into the game having survived an early spell of pressure and Zeman's men went within inches of scoring in the seventh minute. 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, Zeman raised a few eyebrows by electing for an unconventional 3-4-3 formation and the makeshift attacking trident of Miralem Pjanic,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 Rodriguez.
Both sides pushed forward in search of the all-important opener, but Stevan Jovetic's long-range effort and Luca Toni's header were both well saved by Goicoechea, the Uruguayan goalkeeper producing another solid display to show just why is keeping Maarten Stekelenburg on the sidelines.
The best chance of the first half came five minutes before the break however when Jovetic was fouled on the outside of the Roma box. 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 half-time 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. Destro capitalised 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.
The away side continued to press in search of a late winner and they were 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 were nearly made to rue their profligacy in the last minute of normal time when Borja Valero met Jovetic's knockdown with a stunning left-footed half-volley, but his strike thundered against the outside of the upright.
Still, there was 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 10th Coppa Italia title alive.
Fiorentina refused to give up hope of a comeback, and Aquilani 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 were 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, but Roma secured their progress to the semi-finals.