Substitutes Marko Pjaca and Daniel Alves struck goals within two minutes of one another as Juventus punished 10-man Porto to take charge of their Champions League last-16 tie.
The hosts saw left-back Alex Telles dismissed after two bookings in a 74-second spell, the second after a wild sliding tackle on Stephan Lichtsteiner.
His side spent long spells in their own half and survived a Paulo Dybala strike against the post before the interval.
But Juve - who had 74% possession - broke through when Pjaca drove low into the net five minutes after coming on and Alves finished from six yards 80 seconds after his own introduction.
More to follow.