Early goals in either half from Taremi and Marega put the hosts two goals to the good in this knockout tie.
Juventus offered little throughout but Chiesa managed to pull one back for the visitors in the 82nd minute, which could prove vital in the second leg if it comes down to away goals.
In truth, Pirlo’s men are lucky to escape with just the one-goal disadvantage, given their performance here, which warranted far worse than a 2-1 loss.
Before these two sides reunite in Turin in the second leg, Pirlo’s side next host Crotone as they look to improve on their fourth-placed Serie A position.
Conceicao’s men, who were mightily impressive in this tie, next travel to Maritimo as they look to reduce Sporting’s 10-point advantage at the top of the Primeira Liga.
Player ratings
Porto:
Marchesin (8),
Manafa (7), Mbemba (7), Pepe (7), Zaidu (6),
Uribe (7), Oliveira (8), Otavio (6), Corona (6),
Marega (7), Taremi (7).
Bench: Diaz (5), Grujic (6), Conceicao (N/A), Ndiaye (N/A).
Juventus:
Szczesny (4),
Danilo (5), de Ligt (6), Chiellini (5), Sandro (5),
Bentancur (4), Rabiot (6), Chiesa (7), McKennie (6),
Kulusevski (6), Ronaldo (6).
Bench: Demiral (5), Morata (6), Ramsay (6).