Match ends, Juventus 2, Monaco 1.
Juventus 2-1 Monaco (4-1 agg)
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.
Atletico host Real on Wednesday looking to overturn a 3-0 first-leg deficit.
- Reaction: You have to believe in your dreams - Buffon
- Analysis: How the Old Lady rose from the ashes
- Relive Juventus' Champions League semi-final win against Monaco
Is this Juventus' year?
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.
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
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).
Juventus have three games remaining in Serie A, starting with a trip to Roma on Sunday, 14 May. A draw will seal a sixth consecutive league title.
Monaco, meanwhile, switch their focus to domestic matters as they look to win Ligue 1. They are three points clear of Paris St-Germain with three games left and host Lille on Sunday.
- 15BarzagliSubstituted forBenatiaat 85'minutes
- 19BonucciBooked at 73mins
- 23Dani Alves
- 6KhediraSubstituted forMarchisioat 10'minutes
- 12Alex Sandro
- 21DybalaSubstituted forCuadradoat 54'minutes
- 17MandzukicBooked at 90mins
- 25Murara Neto
- 5de Jesus Nascimento
- 8João Moutinho
- 14BakayokoSubstituted forGermainat 78'minutes
- 23MendyBooked at 51minsSubstituted forTavaresat 54'minutes
- 10Bernardo SilvaSubstituted forLemarat 69'minutes
- 9FalcaoBooked at 40mins
- 6de Oliveira Moraes
- 16De Sanctis
- Björn Kuipers
- Shots on Target
Second Half ends, Juventus 2, Monaco 1.
Corner, Monaco. Conceded by Giorgio Chiellini.
Attempt blocked. Andrea Raggi (Monaco) right footed shot from outside the box is blocked. Assisted by Valère Germain.
Mario Mandzukic (Juventus) is shown the yellow card.
Corner, Juventus. Conceded by João Moutinho.
Attempt blocked. Miralem Pjanic (Juventus) right footed shot from outside the box is blocked.
Dani Alves (Juventus) wins a free kick in the attacking half.
Foul by João Moutinho (Monaco).
Leonardo Bonucci (Juventus) wins a free kick in the defensive half.
Foul by Falcao (Monaco).
Alex Sandro (Juventus) wins a free kick on the left wing.
Foul by Valère Germain (Monaco).
Substitution, Juventus. Medhi Benatia replaces Andrea Barzagli because of an injury.
Hand ball by João Moutinho (Monaco).
Corner, Juventus. Conceded by Djibril Sidibe.
Gonzalo Higuaín (Juventus) wins a free kick on the left wing.
Foul by Kamil Glik (Monaco).
Attempt missed. João Moutinho (Monaco) right footed shot from outside the box is too high.
Offside, Juventus. Dani Alves tries a through ball, but Gonzalo Higuaín is caught offside.
Substitution, Monaco. Valère Germain replaces Tiemoué Bakayoko.
Mario Mandzukic (Juventus) wins a free kick on the left wing.
Foul by Andrea Raggi (Monaco).
Attempt missed. Fabinho (Monaco) right footed shot from outside the box misses to the left.
Miralem Pjanic (Juventus) wins a free kick in the defensive half.
Foul by Fabinho (Monaco).
Delay over. They are ready to continue.
Leonardo Bonucci (Juventus) is shown the yellow card.
Delay in match Gonzalo Higuaín (Juventus) because of an injury.
Alex Sandro (Juventus) wins a free kick in the defensive half.
Foul by Falcao (Monaco).
Corner, Monaco. Conceded by Giorgio Chiellini.
Foul by Mario Mandzukic (Juventus).
Fabinho (Monaco) wins a free kick in the defensive half.
Attempt blocked. Claudio Marchisio (Juventus) right footed shot from outside the box is blocked. Assisted by Alex Sandro.
Substitution, Monaco. Thomas Lemar replaces Bernardo Silva.
Goal! Juventus 2, Monaco 1. Kylian Mbappe (Monaco) right footed shot from very close range to the top left corner. Assisted by João Moutinho following a corner.
Corner, Monaco. Conceded by Dani Alves.
Corner, Monaco. Conceded by Gianluigi Buffon.
Attempt saved. Kylian Mbappe (Monaco) right footed shot from the left side of the box is saved in the bottom left corner. Assisted by Djibril Sidibe with a through ball.