Juventus needed the away goal rule to book a spot in the Coppa Italia final after being held to goalless draw by 10-man AC Milan in the semi-final second-leg on Friday evening.
The home side started with four changes from their last match against Inter Milan, as Gianluigi Buffon returned in goal while Danilo, Miralem Pjanic and Paulo Dybala also earned starting beths.
Alex Sandro had the Bianconeri on the attack earlier on after a darting run down the left resulted in a cutback for Douglas Costa, who could only stray wide of the intended target.
Juve missed a golden opportunity after 15 minutes as Cristiano Ronaldo hit the post from the penalty spot after Andrea Conti was flagged for handling in the area by the Video Assistant Referee.
However, within two minutes afte the miss, Milan's Ante Rebic received his marching orders following a reckless challenge on Danilo while his side were on the counter.
Another big opening fell Juve's way following the half-hour mark through Blaise Matuidi, who watched in anguish as Donnarumma steered his volley to safety.
Milan regained confidence following halftime and launched their very first attack after Hakan Calhanoglu got on the end of Giacomo Bonaventura's cross before heading narrowly wide.
That was to be Bonaventura's last contribution as he made way for Rafael Leao with 53 minutes gone as Milan needed a goal.
Each side found chances in the final minutes, with Simon Kjaer heading wide off a corner, while Dybala brought Donnarumma to a smart save with a decent attempt.
In the end, Juve's away goal in the reverse fixture was enough to ensure progression to the final against either Napoli or Inter who contest the other semi-final tomorrow.