Juventus will have the chance to defend their Coppa Italia crown after they defeated Fiorentina 2-0 (3-0 on aggregate) to set up a place in the final against Inter.
The 2021 competition winners took a 1-0 lead into the tie thanks to Lorenzo Venuti's late own-goal in the first leg and Federico Bernadeschi's first-half strike in Turin gave Juventus breathing space. A late goal from Danilo finished the game in style.
Fiorentina started the night as the in-form side having gone seven weeks without defeat and put the hosts under pressure immediately, goalkeeper Mattia Perin avoiding punishment for a lapse in concentration.
Dusan Vlahovic, coming up against his old team mates, stung the gloves of Aleksandar Dragovic, who was culpable for the opening goal. The Fiorentina goalkeeper was caught in no man's land from Alvaro Morata's cross and Bernadeschi duly punished him, lifting a volley into the top corner.
His counter-part Perin kept Juventus' clean sheet in tact immediately after the restart, saving well from Lucas Martinez Quarta's deflected header.
Juventus continued to sit in and wait for the chance to hit their opponents on the counter-attack and Zakaria threatened to kill off the tie with a shot that rattled the crossbar.
When Adrien Rabiot found the back of the net, the goal was ruled out following a VAR check for offside.
Massimiliano Allegri's side weathered the storm as Fiorentina piled the pressure on late on and Danilo's goal four minutes into added-time gave Juventus a comprehensive aggregate triumph to set up a Derby d'Italia clash in the Coppa Italia final for just the third time ever - and the first in 57 years.