Udinese, leading 2-1 from the first leg, surrounded the referee to protest at the end, apparently upset at having a penalty appeal turned down in the dying seconds.
Fiorentina, who won the last of their six Coppa titles in 2001, went ahead when Manuel Pasqual volleyed in from a narrow angle in the 14th minute.
Antonio Di Natale was agonisingly close to equalising just after the half hour when he headed against the post, then created another chance for himself with some ball-juggling but had his effort charged down.
Fiorentina increased their lead in the 61st minute with another spectacular goal when David Pizarro found Juan Cuadrado on the right and the Colombian fired an unstoppable shot in off the underside of the crossbar.
Udinese, who reached their only Cup final in 1922 in the competition's inaugural year, could easily have sent the tie to extra time.
A tense finale saw Emanuel Badu sent off from Udinese's bench for arguing with the fourth official before a double miss in the 95th minute.
Udinese striker Luis Muriel got free on the right, his effort was saved by Neto and the ball fell kindly to Nicolas Lopez who headed weakly into the goalkeeper's arms.
The visitors then had Maurizio Domizzo dismissed for arguing with the referee over alleged time-wasting by the hosts.
Fiorentina will face either Napoli or AS Roma in the final on May 3.
- Sports & Recreation
- Mario Gomez