Juventus played another difficult match against Fiorentina but, like in the first leg, came out on top with goals from Federico Bernardeschi and Danilo to seal a 2-0 victory and a place in the Coppa Italia final.
Massimiliano Allegri’s side were thrashed in the first leg and weren’t much better this time around, recording just 32% possession, but their danger on the counter proved too much for Fiorentina to handle.
The visitors went all-in from the outset and might have scored early thanks to some nervous goalkeeping from Mattia Perin, who was lucky to see the offside flag raised after spilling from a corner.
Both Alvaro Morata and Dusan Vlahovic evaded the offside trap to provide some danger for Juventus, with the former playing a key role in Juve’s first goal.
A cross from Morata was mishandled by Fiorentina goalkeeper Bartlomiej Dragowski and deflected into the path of Bernardeschi, who volleyed home from within the penalty area to give Juve a commanding lead going into the interval.
Both teams had chances to score quickly after the restart. Before Denis Zakaria stung the outside of the Fiorentina post, Perin made a fantastic save to deny Lucas Martinez Quarta.
Fiorentina pushed and pushed but was stung on the counter, with Juventus content to sit back and punish the visitors.
Adrien Rabiot believed he had made it 2-0 with 20 minutes remaining when he glided in from a Bernardeschi cross, only for VAR to ruin the party.
With the time ticking away, Fiorentina surged forward in quest of a goal. After a tremendous strike from Riccardo Sottil, Arthur Cabral headed inches wide, and Perin came to a superb save with his knees.
But, in line with the tenor of the game, it was Juventus who scored the game’s last goal in the dying embers.
Juan Cuadrado beat Martinez Quarta to the byline before pulling back for the onrushing Danilo, who couldn’t miss from eight yards out to send Juventus to the final.