Juventus will face Inter Milan in the finals of the Coppa Italia after they saw off Fiorentina 2-0 (3-0 on aggregate) in the semi-final on Wednesday night.
The Old Lady of Turin led the tie 1-0 thanks to Lorenzo Venuti's late own-goal in the first leg played in March and needed any draw to qualify for the finals.
Federico Bernadeschi gave them the lead after the half-hour mark to set them on the path to victory before a late Danilo goal sealed the win.
It was the visitors, who were on a seven-match undefeated run, who started the match on the front foot, pinning the hosts down and creating a number of early chances.
Juventus grew into the game with former Fiorentina star Dusan Vlahovic and Alvaro Moratta getting half-chances.
The latter was involved in the opener as his cross caught goalkeeper Aleksandar Dragovic in a no-man's land, allowing Bernadeschi to score with a half-volley into an empty net.
Juventus opted to sit deep in the second half and waited to catch their visitors on the counter, and it almost paid off at some point only for Zakaria to crash his effort against the crossbar.
Adrien Rabiot also found the back of the net, but his effort was ruled out following a VAR check for offside.
Fiorentina did all they could and threatened time and again to equalise, but the hosts held on and in the end, Danilo killed off the match deep in added time.
The win books a Derby d'Italia clash against Inter Milan, the first in 57 years.