Last season’s runners-up won 4-1 on penalties after the match ended 2-2 and will next face either champions Inter Milan - in what would be a repeat of the 2023 final - or Bologna.
Parma, one of only two Serie B teams left in the competition, were firmly in control at halftime following goals from Adrian Bernabe and Ange-Yoan Bonny within two minutes of each other.
Fiorentina were jeered off the field at the interval and coach Vincenzo Italiano made four changes for the second half.
M’Bala Nzola pulled one back seven minutes from time and Riccardo Sottil levelled from the spot in the final minute after Parma defender Yordan Osorio was penalised for handball.
Both teams had chances to win in extra time before the penalty shootout.
Parma forward Dennis Man saw his spot kick come off the post and midfielder Drissa Camara blasted his over the bar, allowing Fiorentina forward Lucas Beltran to convert the decisive effort.
AAP