Federico Bernardeschi scored against his former club as Juventus beat the Italian Cup final 2-0 on Wednesday to set up an Italian Cup final against Inter Milan.
After Fiorentina keeper Bartlomiej Dragowski failed to intercept a cross, Bernardeschi controlled the ball with his chest and then volleyed in shortly after the half hour mark.
Danilo sealed it in stoppage time after being set up by Juan Cuadrado.
Aiming to defend their title, Juventus advanced on aggregate 3-0.
Reigning Serie A champions Inter beat city rivals AC Milan 3-0 on Tuesday to qualify.
Juventus have won the Coppa Italia a record 14 times, while Inter have seven trophies in the competition, the last being in 2011.
The final is scheduled for May 11.
Juventus also saw a goal from Adrien Rabiot wiped for offside following a VAR check.
A stoppage-time winner earned Salernitana a 1-0 win at Udinese in Serie A, keeping the southern club’s hopes of avoiding relegation alive.
After winning at Sampdoria on Saturday, it was the first time Salernitana had recorded back-to-back wins this season.
Substitute Simone Verdi completed a counterattack after three minutes of added play.
The bottom three clubs _ Venezia, Salernitana and Genoa _ are now level on points, all six points from safety.
The match was postponed four months ago due to an outbreak of coronavirus within the Salernitana squad.