Juventus held Barcelona to a goalless draw at the Camp Nou on Tuesday night, ending their hosts' hopes of another sensational second-leg rally and advancing to the Champions League semifinals 3-0 on aggregate.

A combination of stout defending from Juventus and imprecise finishing from Barcelona meant they could not repeat their miraculous performance that saw the Blaugrana come back against PSG in the round of 16.

Barcelona pressed to trim the deficit in the first half, giving Juventus chances to counter, first as Gonzlo Higuain blasted over the bar, before Juan Cuadrado's overhead flick was also too high.

Jordi Alba came close to delivering the opener on 19 minutes, but he could not get a touch to Lionel Messi's lob into the box.

And a minute later Messi had the Camp Nou crowd ready to erupt when he took a touch in a box but dragged his shot wide of the post with half of the net to aim at.

Barcelona confronted Dutch referee Bjorn Kuipers multiple times after some physical play from Juventus — notably pulling at Messi's shirt and blocking off Neymar at the top of the box — but the official was not impressed.

Messi tried his luck from distance — drawing a save from Gianluigi Buffon at the near post — before following up himself to put a second effort into the side netting.

Andres Iniesta received the first yellow card of the match for taking out Cuadrado. Neymar soon followed him in the book for a wild tackle on Miralem Pjanic moments after the Juventus man had undercut Messi as they jumped for a ball.

The card meant the Brazilian would miss Barcelona's next match if they progressed, but that was looking unlikely as they entered half-time still trailing by three goals.

Juventus had the first chance after the break as Cuadrado was given time to shoot from an angle, but his strike along the ground skimmed past the post, and at the other end Messi sent another hard, low effort wide.

Barcelona were undeterred, and Luis Suarez earned a free kick on the edge of the area from a Giorgio Chiellini foul that saw the defender booked, but Messi's free kick looped over the goal.

Messi had another opportunity after the hour mark to volley home as the ball came back to him following a corner, but again the Argentine could not keep his shot on target.

Higuain was booked for a sliding challenge on Suarez, meaning he will miss the first leg of the semifinals.

It was Sergi Roberto's turn to shoot as he made space for himself in the box and took aim at the far corner, but the accuracy was not there.

Barcelona earned corner after corner — 13 in all — but could produce no joy in the late stages and for all their attempts finished with only a single shot on target, their fewest in a home Champions League game in the past seven years.

Juventus' amazing defensive form in the Champions League stretched to 531 minutes without conceding, with the last goal against them coming on Nov. 22 in the group stage against Sevilla.

They reach their seventh Champions League semifinal, the most of any Italian club, and matched AC Milan's Italian record of 12 European Cup semis.