Juventus held Inter to a goalless draw to confirm their place in the final of the Coppa Italia thanks to a narrow victory on aggregate.
Cristiano Ronaldo - whose double in the first leg gave Juventus a 2-1 lead - had the best chances in an entertaining first-half but Inter's defenders threw their bodies in the way to prevent the Portuguese, with Alessandro Bastoni and Stefan De Vrij both making important blocks, and Samir Handanovic also saved a shot with his feet.
At the opposite end, Romelu Lukaku couldn't turn Milan Skriniar's header in at the far post and the returning Christian Eriksen's goalbound shot was repelled, as Inter, needing to score at least two goals to advance, failed to find a way through before the interval.
Juventus down Mourinho's Roma amid VAR drama
The second-half took some time to open up but when it did Handanovic needed to be alert to deny Ronaldo what would have been a goal of the season contender.
Substitute Stefano Sensi went closest for the visitors but ultimately Antonio Conte's men lacked the creativity to undo a stubborn Juventus.
Andrea Pirlo's side will now meet Atalanta or Napoli in the final - if it's the latter it would be a repeat of last year's final in which Juventus lost on penalties.
TALKING POINT - Juventus set up record 20th Coppa Italia final appearance with defensive masterclass
Was it ever in doubt? When Ronaldo scored a brace to give Juventus the advantage in the first leg, Inter knew their work was going to be cut out to turn the game on its head. Their chances were, of course, boosted by the return of Lukaku, who missed the match at San Siro through injury. But Juventus are serial winners in this competition and were never likely to relinquish their lead.
As such, this was a vintage defensive performance from the Old Lady, one that highlighted that Pirlo's blueprint is becoming more clear, which spells trouble for the rest of the Serie A. For all of Inter's attacking threat, Gianluigi Buffon - protected by the impenetrable Merih Demiral and Matthijs de Ligt - didn't have a save to make.
With nine wins from their last 11 in all competitions since the turn of the year, Juventus have finally found their groove. This triumph seals their fifth Coppa Italia final appearance in six years - and a record 20 in total - and although the showpiece occasion is at least three months away, Juventus will be favourite to clinch the trophy for a 14th time.
Romelu Lukaku, Rodrigo Bentancur, Juventus-Inter, Getty Images
Image credit: Getty Images
MAN OF THE MATCH - Merih Demiral (Juventus)
Excellent in the first leg, but even better in the second. With De Ligt by his side, Demiral was everywhere in defence and proved impossible to bypass.
Juventus: Buffon 6, Danilo 7, Demiral 8, De Ligt 8, Alex Sandro 7, Cuadrado 7, Bentancur 6, Rabiot 7, Bernardeschi 7, Kulusevski 7, Ronaldo 7. Subs: Chiellini N/A, McKennie 6, Chiesa N/A,
Inter: Handanovic 7, Skriniar 6, De Vrij 6, Bastoni 6, Hakimi 7, Barella 6, Brozovic 6, Eriksen 5, Darmian 5, Lukaku 6, Lautaro Martinez 6. Subs: Kolarov 5, Sensi 6, Perisic 5.
26' - So close for Inter! Eriksen delivers a teasing cross, Skriniar flicks his header on, it hits Lukaku on the stomach and bounces agonisingly wide!
28' - Chance! Inter come forward once more, and this is much more like it. The visitors work a short corner, Hakimi pulls it back to Eriksen - unmarked on the edge of the box - but his shot is blocked and Inter can only force another corner.
71' - What a goal that would have been! Oh, that is vintage Ronaldo. A dazzling step-over and then he squeezes between Skriniar and Barella before he draws a fine save from Handanovic.
75' - Close! Sensi's effort takes a wicked deflection and drifts agonisingly past Buffon's near post! It's just not happening for Inter tonight.
- Juventus have reached the Coppa Italia Final stage for the 20th time in their history, at least three times more of any other side (AS Roma 17, Inter 13).
Lazio come from behind to score three and cruise past Inter
Inside Europe: Could Inter be next for Newcastle's new Saudi owners?