A goal in extra time from Mattia Destro saw Roma edge out hosts Fiorentina 1-0 and advance to the semi-finals of the Coppa Italia on Wednesday night.
The Viola had a number of chances in the first half but Luca Toni hit the post with a 17th-minute header before Alberto Aquilani smashed a free-kick on to the crossbar six minutes before the interval.
Daniele De Rossi then had the ball in the back of the net for Roma after 77 minutes but was deemed to be offside, and eventually extra time was needed to try and settle the contest.
Roma struck after 97 minutes and this time the goal did stand, with Destro turning in a cross from the right from Miralem Pjanic.
Five minutes later, Fiorentina struck the woodwork for the third time in the match with a powerful drive from Juan Cuadrado.
Things then turned sour, with Rodrigo Taddei dismissed three minutes from time for Roma after picking up two yellow cards in quick succession.
And both teams had players dismissed in the final minute, with Cuadrado and Jose Dodo walking after a confrontation on the pitch.
It did nothing to alter the final result, though, with Destro's goal enough to send Roma through to the last four alongside Inter Milan, Lazio and Juventus.