The Spanish champions had overcome a 4-0 first leg deficit against Paris Saint-Germain in the last 16 with a dramatic 6-1 win back on home soil.
But Juventus showed why they boast the best defensive record in the competition as Lionel Messi, Luis Suarez and Neymar were blunted as the Italians gained revenge for their defeat in the 2015 Champions League final.
Juventus join holders Real Madrid, Atletico Madrid and Monaco in Friday’s semi-final draw.
Straight from kick-off the visitors seemed determined to learn from the French champions’ mistakes.
Massimiliano Allegri’s men pressed high to prevent Barca dominating possession and enjoyed the better of the early chances.
Former Real Madrid striker Gonzalo Higuain volleyed over from the edge of the area before only a brilliant challenge from Gerard Pique prevented Juan Cuadrado’s cross providing Higuain with a tap in.
Barca had to wait 19 minutes for their first clear sight of goal as they intricately worked the ball around a packed Juventus box before Messi fired inches wide.
Messi then Gianluigi Buffon’s palms for the first time on the half hour mark.
At the other end, Higuain threatened again when he just couldn’t get enough power on Miralem Pjanic’s dinked cross to beat Marc-Andre ter Stegen.
Neymar had been Barca’s hero in a remarkable finish with two goals and an assist in the final minutes against PSG.
Yet, he found it far harder up against friend and former Barca teammate Dani Alves and his frustrations at a perceived lack of protection from referee Bjorn Kuipers spilled over as he was booked just before half-time.
Juventus also had the first big chance of the second half as Cuadrado fired across Ter Stegen but wide of the far post.
Ter Stegen was then forced to turn behind another driven effort from the Colombian.
Messi was being forced to come deep in search of possession, but he briefly had Juventus hearts in mouths with a low effort that was deflected inches wide.
Barca boss Luis Enrique forlornly turned to Paco Alcacer from the bench as the hosts played with four forwards for the final half hour.
Messi had another big chance after a rare Buffon handling error from a corner, but unfortunately for Barca it fell on his right foot and the Argentine fired well over.
Sergi Roberto was Barca’s unlikely hero with the 95th minute goal that sealed the 6-1 win over PSG six weeks ago.
He nearly delivered another important and rare goal, but when the right-back’s effort flew inches wide 20 minutes from time so did Barcelona’s hopes.
Juventus comfortably saw out the final stages to register their eighth clean sheet in 10 Champions League games this season.
And the only negative news of the night for the Bianconeri was a yellow card for Sami Khedira that will rule the German international out of the first leg of their semi-final.