Juventus reached their second Champions League final in three seasons with a comfortable aggregate victory over Monaco.
Already leading 2-0 from the first leg, the Italian side extended their advantage when Mario Mandzukic stabbed in after his initial header was saved.
Dani Alves doubled their lead on the night with an instinctive volley from goalkeeper Danijel Subasic’s punched clearance.
Kylian Mbappe turned in Joao Moutinho’s low cross to pull one back in the second half, but the Ligue 1 side could not pull off an unlikely comeback.
Juventus, who have not won this competition since 1996 and lost 3-1 to Barcelona in the 2015 final, will face either Real Madrid or Atletico Madrid in Cardiff on 3 June.
Is this Juventus’ year?
Juventus beat Ajax on penalties to win the Champions League in 1996
Juventus have endured a turbulent time since beating Ajax in the Champions League final 21 years ago.
They were demoted to Serie B in 2006 for their part in a match-fixing scandal, and were stripped of two of their Serie A titles.
But they have risen to become the most dominant team in Italy, winning the league for each of the past five seasons.
Their focus now is Champions League success – and they look well placed to achieve it.
No side has scored more than a single goal against them in a Champions League game this season, while Mbappe’s goal was the first they have conceded in the knockout stage.
That is down to the excellent form of goalkeeper Gianluigi Buffon and defensive trio Giorgio Chiellini, Leonardo Bonucci and Andrea Barzagli.
Against a free-scoring Monaco side intent on attacking, lesser sides may have relented, but Juve stood firm.
Chiellini, in particular, was outstanding – in the right place to clear a dangerous Benjamin Mendy cross at 0-0 before hooking away from Radamel Falcao at 1-0.
They were two key moments, allowing Juve’s forward players to attack with patience and potency.
Kylian Mbappe’s goal was the first Juventus had conceded in 689 minutes of Champions League football
Alves excellent again
When Barcelona dismantled Juventus in the Champions League final two years ago, Alves was a key part of the Spanish side.
The full-back, who won six La Liga titles and three Champions Leagues with Barcelona, left under acrimonious circumstances last summer and joined Juventus on a free transfer.
There is no doubt Barca’s loss has been Juve’s gain.
After a slow start, the Brazilian has developed into one of the club’s most influential players, and his Champions League experience has been pivotal to Juventus’ run to the final.
Having assisted both of Gonzalo Higuain’s goals in the first leg he produced a brilliant strike here, calmly guiding Subasic’s looped clearance through a crowded box and into the net.
Alves, whose cross also led to Mandzukic’s opener, has now been involved in every goal Juve have scored in their last two Champions League games.
Man of the match – Dani Alves
Alves was excellent in the first half, scoring one goal and assisting the other to effectively put the tie beyond Monaco
Unrivalled Juve – the stats
No team has reached the Champions League final on more occasions than Juventus (six – level with AC Milan).
Juve have scored 30 goals in the Champions League semi-finals; no team has scored more (level with Bayern and Real Madrid).
The Turin club are unbeaten in 12 Champions League/European Cup games for the first time in their history (W9 D3).
Mandzukic ended his longest run without a Champions League goal (six games) and is now on 15 in 45 appearances.
Mbappe’s goal was Monaco’s 150th this season in all competitions; only Real Madrid (158) and Barcelona (160) have scored more from the big five European leagues.
Mbappe became the youngest player to score in a Champions League semi-final (18 years & 140 days).
Thierry Henry (five games) is the only French player to have reached six Champions League goals quicker than Kylian Mbappe (nine).