PORTO, Portugal (AFP) - Croatian starlet Marko Pjaca and Dani Alves came off the bench to strike late as Juventus overcame 10-man Porto 2-0 in their Champions League last 16 first leg on Wednesday (Feb 22).
Porto hosted Juventus, the beaten 2015 finalists, looking for their first win in four meetings between the sides - and confident in their chances after a recent six-game winning run.
But the hosts endured a disastrous opening half at the Estadio do Dragao, former Inter Milan midfielder Alex Telles sent off for a second bookable offence in the 27th minute.
After seeing both Gonzalo Higuain and Paulo Dybala come close, Higuain notably denied on 39 minutes by an alert Iker Casillas, Massimiliano Allegri replaced Juan Cuadrado with Pjaca on 67 minutes.
The 22-year-old capitalised only six minutes later, starting a great move before firing Dybala's return pass past Casillas from 15 yards out.
Allegri replaced right-back Stephan Lichtsteiner with Alves immediately afterwards and the former Barcelona star scored with practically his first touch of the game to wrap up a precious win for the Turin giants.
Deploying an attack-minded 4-2-3-1 formation designed to squeeze goals out of Higuain, Juve were forced to defend deep as Porto took control in the opening stages.
But early promise failed to threaten Gianluigi Buffon in the Juve goal, Yacine Brahimi's free kick curling over after Giorgio Chiellini, who passed a late fitness test with fellow defender Andrea Barzagli, fouled striker Andre Silva.
Juve eventually settled and Higuain looked on his way to breaking the deadlock on 18 minutes until Marcano slid in to dispossess the Argentine yards from goal.
When Miralem Pjanic fired an enticing ball into the area for Mandzukic, Casillas was forced out quickly to slide the ball away with his feet.
Juventus were gaining momentum but Dybala fired a great chance over Casillas's crossbar after Sami Khedira's smart overhead flick.
Telles earned his first caution on 25 minutes for a foul on Cuadrado and gave Juventus a welcome boost when he saw red barely two minutes later for a foul on Lichtsteiner.
Santo replaced Silva with Miguel Layun three minutes later but it took a superb reflex save from Casillas to stop Higuain's deflected effort from squeezing in at the base of the post on 39 minutes.
Casillas was beaten on the stroke of half-time but Dybala's shot from the edge of the area came off the base of the 'keeper's upright.
The players left the pitch at half-time to a chorus of whistles, although they were aimed mostly at German referee Felix Brych after a controversial opening period capped by Maxi Pereira being cautioned for a foul on Mandzukic.
A reminder that Porto had no intention of sitting back to defend came just three minutes after the restart, Hector Herrera heading Layun's great cross to the back post into Buffon's side-netting.
Porto remained resolute, but eventually buckled under Juve's persistence.
Khedira came close after pouncing on a poor headed clearance by Ruben Neves and then Higuain bamboozled his two markers before unleashing a right-footed drive that curled just wide of Casillas's far post.
Allegri was looking increasingly frustrated on the touchlines and replaced the ineffective Cuadrado with Pjaca on 67 minutes.
The Croat seized the day minutes later, winning possession from a Marcano blunder to beat Casillas with his maiden Juventus goal.
Alves capped a forgettable night for the hosts when he chested down Alex Sandro's delivery to run in and beat Casillas for Juve's second on 74 minutes.