Juventus hold firm at the Nou Camp and thwart Barcelona comeback to seal 3-0 aggregate win to book their place in the final four.
Monaco join them in the semi-finals after sealing a 3-1 win over Borussia Dortmund, a 6-3 victory over two legs.
Kylian Mbappe and Radamel Falcao scored in the first 45 minutes before Marco Reus pulled one back at the start of the second-half.
Valère Germain scored 21 seconds after coming off the bench to put the tie to bed.
Juventus and Monaco join Real Madrid and Atletico Madrid in the sem-final draw, which takes Friday morning at 11:00am [BST].
Full-time: Monaco 3-1 Borussia Dortmund
Monaco win 6-3 on aggregate and progress to Champions League semi-finals.
Full-time: Barcelona 0-0 Juventus
Juventus win 3-0 on aggregate and progress to Champions League semi-finals
Don't miss: Romelu Lukaku prefers return to Chelsea
Three minutes of time added on at the Nou Camp. Barcelona have been out of ideas for a while now - now they are just about out of time.
Falcao and Mbappe have both missed chances to kill off Dortmund in the second half but Valère Germain has probably just sealed their passage into the semi-final. 20 seconds after coming off the bench, he pounces on a ball from Lemar, drilling it between the goalkeeper's legs.
Most popular: Serena Williams reveals she is pregnant
Goal! Monaco 3-1 Borussia Dortmund (Valère Germain, 81)
Just five minutes remain at the Nou Camp. Barcelona are staring down the barrel now...
Mario Lemina is now on for Cuadrado, who has provided a tireless performance up and down the flank tonight.
Juventus haven't had much of a cutting edge on the break in this second half, despite having the chance. Moments ago Khedira lost his bearings in the box and hooked a cross straight into the waiting arms of ter Stegen.
Another big chances bypasses Barca! A Neymar cross from out on the left falls to Mascherano just inside the six yard area but he can't get enough on it and Buffon is able to scramble clear.
Pique hooks an effort from close range on goal from a corner kick but Chiellini deflects it wide. He's been a colossus.
Pique is effectively playing as a centre-forward now so Allegri has responded, bringing on Andrea Barzagli for Dybala.
More nerveless defending from Chiellini. Neymar whips a vicious ball in looking for Suarez but the Italian gets above him and nods the ball away for a corner.
Close from Roberto! The match winner against PSG lashes an effort across goal, looking for the far corner but it veers wide of Buffon.
Nerveless from Bonucci! Alcacer has time to turn in the box and and force the ball across goal to Messi, but the Italian coolly steps forward and guides the ball out of danger.
Now Messi whacks a horrid cross straight out of play. His face is also swelling up a bit, a result of him crashing face-first into the turf after that challenge from Pjanic at the end of the first-half.
Messi misses again! There's a rare error from Buffon as he fails to collect a corner. Suarez hooks the corner back in for the Argentine but he lifts his effort over the bar.
Khedira is booked and he will miss the first leg of the semi-final. Sandro is caught out trying to nutmeg Suarez and the Uruguayan wins the ball off him, allowing him to race up towards the byline. Khedira has seen where his teammate failed and races in to stop Suarez with a pretty obvious foul. The Germany international is furious; not with the decision, but with Sandro for not clearing the ball and forcing him into the challenge.
Neymar well to initially win a 50-50 against Pjanic on the edge of the box, opening up the space for him to shoot. But again, it is another really poor effort on goal. Rubbish shooting all round, tonight.
Here's the first change of the match for Barca with Paco Alcacer on for Rakitic.
Messi lifts it over the wall... and over the cross bar.
It's hotting up a bit. Chiellini is booked for taking down Suarez right on the edge of the box, nearly the exact spot Messi had that effort from a few moments ago.
So close from Messi! He shimmies past one challenge before shifting the ball onto his left to curl one from the edge of the D. It takes the slightest nick off Chiellini which takes it just the wrong side of the post.
A lifeline for Dortmund! They have one back in Monaco. Ousmane Dembele does brilliantly down the right, battling his way past the formidable presence of Mendy before cutting a perfect ball back for Reus who rifles it home.
Goal! Monaco 2-1 Borussia Dortmund (Marco Reus, 47)
And we are back underway in Monaco where Borussia Dortmund need a miracle of their own.
Juventus almost make Barcelona pay! Sergi Roberto lazily gives the ball away and Higuain is able to thread a fine ball around for Cuadrado who is bursting through on the inside right. He he takes the shot on, looking to find the far corner but he drags is effort just wide.
What a run by Neymar! He beats six players (SIX!) before he is eventually crowded out by a posse of black and white shirts inside the box.
And we are back underway at the Nou Camp.
Half-time: Monaco 2-0 Borussia Dortmund
Monaco lead 5-2 on aggregate
Lots of frustration for Barcelona so far - but no goals. They need three or their Champions League campaign is over.
There are still a few minutes to be played in Monaco, where kick-off was delayed.
Half-time: Barcelona 0-0 Juventus
Juventus lead 3-0 on aggregate
Ridiculous stuff from Neymar, and not in a good way. Messi is felled by Pjanic and the free kick looks like it is going to be given Barcelona's way. Neymar doesn't hang around for that though, and steams in to leave a late one on the Juventus midfielder.
He's booked, and that means he;'ll miss the first leg of the semi-final - if Barcelona make it. Bear in mind, Neymar is also missing this Sunday's El Clasico after he was retrospectively banned for sarcastically applauding a referee earlier this month.
I've just realised there are only three minutes of the first-half remaining. This has flown by. It's probably gone fairly quickly for Barcelona too.
Iniesta picks up the first yellow of the match, he's booked for a challenge on Cuadrado.
Another big chance for Higuain goes begging. Pjanic dinks a wonderful ball over the top for the Argentine to run onto inside the box, but his tame effort trickles into the arms of ter Stegen.
MORE RAGE from Barcelona fans. Neymar sprints down the right and cuts in a cracker of a cross from the right. It is picked up by Rakitic on the far side, but he appears to have his legs clipped by Sandro right on the line of the box. It looks a foul, but the referee waves play on and Juventus mount forward.
Khedira is down after his toes are accidentally caught by Neymar. He stays on the ground much to the blinding rage of the Nou Camp crowd, but it allows Juve to catch a breather.
Neymar brilliantly jinks past one challenge before Chiellini gets a foot in to stop him. Barcelona recycle the ball however and Messi tries his luck from a little further out, testing Buffon from the edge of the box. His effort stings the Italian's gloves, but he manages to force it far enough away from goal.
The Nou Camp crowd is already incredibly frustrated. Juventus' defence are being rugged, determined and are looking pretty imperious.
Radamel Falcao's 45th goal in 50 European games may have just killed off Borussia Dortmund.
Monaco double their lead! Radamel Falcao caps a sublime move from the Ligue 1 leaders, breaking into the box to jump onto a superbly measured cross from Thomas Lemar, directing his header into the far corner.
Monaco lead 5-2 on aggregate
Goal! Monaco 2-0 Borussia Dortmund (Radamel Falcao, 16)
Huge chance for Messi! The Argentine moves the ball wide before continuing his run towards the box. He waits for the ball to come back to him, eventually getting it from Suarez. He has the time to take a touch and measure it for the far corner but Messi drags his shot wide!
Dortmund denied by the cross bar! Nuri Sahin curls a sublime effort over the Monaco wall from 25 yards out, but his effort comes back off the inside of the post and rolls across the face of the goal before it is hacked clear.
Barcelona are throwing everyone forward at almost every opportunity, even at this early stage. Juventus have already given them a couple of warnings on the break.
Pique rescues Barcelona! Cuadrado races forward on the counter attack and has Dybala peeling into space inside the box. The Colombian looks for the square bass across goal to find his teammate but Pique slides across his path to block it.
Chance for Higuain! The ball falls beautifully for him to test ter Stegen on the volley from just inside the box but he lashes a wild effort high and wide.
Neymar clips a cute cross over Bonucci into Suarez who has crept inside the box, but instead of nodding on goal, he looks to move it onto Messi. He gets nowhere near his teammate and Juventus clear.
Monaco lead inside three minutes! Mendy drives at the Dortmund defence who are backpeddling haplessly towards their own goal. It invites the full-back to shoot and he obliges, lashing a powerful effort at Burki. He can only bat it down into the path of Mbappe, who slots into the near corner on the rebound from six yards out.
Monaco lead 4-2 on aggregate
Goal! Monaco 1-0 Borussia Dortmund (Kylian Mbappe, 2)
Neymar gets the ball out on the right and cuts in menacingly, driving at Juventus defenders inside the box. Most would would panic here, but not Bonucci, who sticks out a boot to knock the ball away from here. The Nou Camp howls for a penalty. No chance.
The free kick is floated into Higuain who has peeled clear of his man inside the box, but the Argentine loses his footing at the vital moment. Let-off.
Dybala drives at the Barcelona backline before he his brought down by notorious hatchetman Andres Iniesta. Juventus have an early free kick.
Dani Alves wasn't on the pitch as the game kicked off as he was off at the side shaking hands with everyone on the Barcelona bench. As you do.
And Barcelona get us underway...
Final preparations at the Nou Camp.
We are just over five minutes from kick-off at the Nou Camp; here's one more look at those line-ups.
Barcelona: Ter Stegen; Sergi Roberto, Piqué, Umtiti, Jordi Alba; Sergio Busquets, Rakitic, Iniesta; Messi, Luis Suárez, Neymar
Subs: Cillessen, Denis, Alcacer, Mascherano, Digne, Gomes, Alena
Juventus: Buffon; Alves, Bonucci, Chiellini, Alex Sandro; Cuadrado, Khedira, Pjanic, Mandzukic; Higuaín, Dybala
Subs: Neto, Marchisio, Barzagli, Lemina, Asamoah, Lichtsteiner, Rincon
Marc Bartra is here tonight and according to Dortmund boss Thomas Tuchel, he will have the chance to address his teammates in the dressing room ahead of kick-off. How is that for motivation?
A tweet from Uefa now states kick-off is only delayed by five minutes. No reference to the Dortmund bus being delayed either.
Dortmund's tweet notes their bus was held "without justification."
BREAKING: Monaco vs Borussia Dortmund delayed by five minutes. Match to kick-off at 20:50 after the Dortmund bus was held for 20 minutes by police, according to the German club.
All of our focus has been on the match at the Nou Camp, tonight, so let's switch our attention to Monaco vs Borussia Dortmund. The Ligue 1 leaders clinched a 3-2 lead at the Westfalenstadion in the first-leg with Kylian Mbappe scoring twice, but the match was a mere footnote.
Borussia Dortmund's bus was targeted by three explosions as it made it's way to the stadium, with defender Marc Bartra injured in the blast. The former Barcelona defender underwent surgery on his arm later that night and is thankfully on the mend having only suffered superficial injuries.
Staggeringly, the match went ahead the following day, a decision which was widely criticised. Dortmund boss Thomas Tuchel said his side were "ignored" during the confusion, with Uefa notifying the club via text message that the match would go ahead.
They are back for the second leg tonight and Tuchel is confident his side are feeling far stronger than they did eight days ago.
"We've got this out of our system now and we're more stable emotionally.
"All that happened last week has made us stronger. Now we have to play well and I'm convinced we can do that. We're ready and focused.
"We know it will be very tough, but we have the energy and confidence we need to get a result.
"Our players are confident. We have a good mix between experienced and young players. We know what we need to do. We are here to win by two goals."
Here's another extraordinary stat to scare a Barcelona fan.
Why on earth would Massimiliano Allegri change his side after what happened in Turin last week? After that minor injury scare on Saturday, Paulo Dybala is fine to start tonight in an unchanged XI for the Bianconeri.
Javier Mascherano, who picked up a calf problem in the first leg and missed the match against Real Sociedad on Saturday, starts on the Barcelona bench tonight. Jordi Alba meanwhile comes back into the team.
Neymar was instrumental in the fight back against Paris and starts tonight as expected. It is the last we will see of him this week however having ruled himself out of Sunday's El Clasico thanks to a moment of stupidity that saw him handed a retrospective three-match ban. He can make it up to his teammate's tonight.
Team news is also in from the Stade Louis II...
Juventus team to face Barcelona: Buffon; Dani Alves, Bonucci, Chiellini, Alex Sandro; Khedira, Pjanic; Cuadrado, Dybala, Mandzukic; Higuain
Subs: Lichtsteiner, Benatia, Barzagli, Asamoah, Lemina, Rincon
BREAKING: Juventus are unchanged from the side that hammered Barcelona in the first-leg; Paulo Dybala starts.
Here's a couple of stats to avoid if you are a Barcelona fan. Juventus have not conceded a European goal in 441 minutes, the longest active streak in this season's Champions League.
Juve has also conceded three goals in one match on just one occasion in 2011.
Team news: Juventus
On a night where Lionel Messi floundered, the man many tip as the heir to his thrown ran riot. Paulo Dybala tormented Barcelona in Turin last week, scoring twice before Giorgio Chiellini wrapped up proceedings with his side's third.
There was a moment of panic however on the weekend when Dybala came off during the 2-0 win over Pescara on Saturday following a heavy tackle from Sulley Muntari. Reports the following morning however suggested were not majorly concerned over the fitness of their forward, suggesting the Argentine will be fit to start tonight.
Team news: Barcelona
There is the small matter of El Clasico looming for Luis Enrique's side tonight. By this time Sunday night, Barcelona's Champions League and La Liga hopes could be over. It's going to be an intense few days for the Barca squad.
Barcelona 18-man squad to face Juventus
Ter Stegen, Piqué, Rakitic, Sergio, Denis, A. Iniesta, Suárez, Messi, Neymar Jr, Cillessen, Mascherano, Paco Alcácer, Jordi Alba, Digne, Sergi Roberto, André Gomes, Umtiti and Aleñá.
Team news: Barcelona
Javier Mascherano suffered a calf injury during the 3-0 defeat in Turin and was subsequently ruled out of Barcelona's La Liga meeting with Real Sociedad on Saturday. The Argentine is back tonight, however, having already been named in Luis Enrique's 18-man squad.
Not again, surely? You may have heard the story of Barcelona making Champions League history against Paris Saint-Germain earlier this month; overturning a 4-0 first-leg deficit to reach the quarter-finals for the 10th successive season.
Luis Enrique has talked up the frenzied atmosphere he hopes can facilitate another "crazy night" tonight after Paulo Dybala put his side to the sword last week, but there are a couple of important things to remember.
1) Juventus are a bit better at all this defending business.
2) Juve have lost by three clear goals just once since January 2011.
3) Juventus have revenge on their mind after their 2015 final defeat.
We are either in store for a European masterclass in controlling a game to hold onto a lead tonight. Or something a bit more mental.
Stick around, all the team news from the Nou Camp and from our other tie in Monaco vs Borussia Dortmund is coming up.
You may be interested in: