Match ends, Monaco 0, Juventus 0.
- Juve last won Champions League in 1996
- Monaco had 57% of possession
- One shot on target for each side
- Semi-final draw on Friday
Treble-chasing Juventus reached a first Champions League semi-final since 2003 as they defended solidly to earn a second-leg goalless draw in Monaco.
The runaway Serie A leaders, who are also in the Italian Cup final against Lazio, led 1-0 after the first leg through Arturo Vidal's penalty.
The hosts dominated possession for the majority but rarely tested Juve goalkeeper Gianluigi Buffon.
Home substitute Dimitar Berbatov did have a shot smothered after the break.
The Old Lady have become the first Italian side to reach the semi-final since Inter Milan won the competition back in 2010.
The last four draw will be made on Friday, with Bayern Munich, Barcelona and Real Madrid also through.
Italian clubs dominated Europe at the start of the millennium, winning the Champions League three times between 2001-2010, but in recent years they have struggled.
However with Juventus 15 points clear in Serie A and likely to be able to rest a number of players domestically, their bid to end a 19-year wait for the trophy is strong.
French midfielder Paul Pogba could be fit for the semi-finals and Juventus missed his power and creativity, managing just two shots in the first 45 minutes.
Monaco, third in Ligue 1, dominated possession but, barring a Bernardo Silva break and a strong penalty shout by Aymen Kondogbia, they failed to threaten.
The progress of the principality side has surprised many after the sale of James Rodriguez, top scorer at the 2014 World Cup, to Real Madrid in July and the loan of Colombian striker Radamel Falcao to Manchester United.
But, having scored just four goals in six group matches before stunning Arsenal 3-1 at the Emirates in the first leg of their last 16 tie, they could have done with the departed duo's extra attacking quality.
Desperate for some firepower, Monaco brought on former Manchester United striker Berbatov and he was only denied by some alert goalkeeping by Buffon.
The hosts continued to control the play but Juventus looked comfortable defensively and almost enhanced their advantage when Andrea Pirlo struck a post from 25 yards in injury time.
Monaco defender Aymen Abdennour told BeIN Sport: "We defended well, we played a great game, we deserved to score at least a goal.
"It was 50-50, really. In the first leg we also had a lot of chances but we could not convert them. Today on the pitch, Monaco were better than Juventus."
Juventus defender Patrice Evra told BeIN Sport:
"It was an important game tonight. Some players were under tremendous pressure because it had been 12 years, and we were the favourites.
"We qualified Italian style. It's ugly but it's solid and it's efficient."
- 28ToulalanSubstituted forBerbatovat 45'minutes
- 22KondogbiaBooked at 76mins
- 15Bernardo SilvaBooked at 50mins
- 8João Moutinho
- 17Ferreira-CarrascoSubstituted forde Carvalhoat 87'minutes
- 23MartialSubstituted forGermainat 76'minutes
- 12de Carvalho
- 13Fortuna dos Santos
- 3ChielliniBooked at 1mins
- 23VidalSubstituted forPereyraat 77'minutes
- 33EvraSubstituted forPadoinat 90'minutes
- 9MorataSubstituted forLlorenteat 69'minutes
- 10TévezBooked at 86mins
- William Collum
- Shots on Target
Second Half ends, Monaco 0, Juventus 0.
Corner, Juventus. Conceded by João Moutinho.
Attempt blocked. Carlos Tévez (Juventus) right footed shot from outside the box is blocked. Assisted by Andrea Pirlo.
Foul by Fabinho (Monaco).
Carlos Tévez (Juventus) wins a free kick on the left wing.
Corner, Juventus. Conceded by Aymen Abdennour.
João Moutinho (Monaco) wins a free kick in the attacking half.
Foul by Fernando Llorente (Juventus).
Substitution, Juventus. Simone Padoin replaces Patrice Evra.
Andrea Pirlo (Juventus) hits the right post with a right footed shot from outside the box from a direct free kick.
Foul by Aymen Abdennour (Monaco).
Fernando Llorente (Juventus) wins a free kick in the attacking half.
Foul by Dimitar Berbatov (Monaco).
Leonardo Bonucci (Juventus) wins a free kick in the defensive half.
Substitution, Monaco. Matheus Carvalho replaces Yannick Ferreira-Carrasco.
Carlos Tévez (Juventus) is shown the yellow card.
Valère Germain (Monaco) wins a free kick in the defensive half.
Foul by Andrea Pirlo (Juventus).
Geoffrey Kondogbia (Monaco) wins a free kick in the defensive half.