Porto scored at the start of each half to beat Juventus 2-1 in the first leg of the round of 16 of the Champions League on Wednesday.
Mehdi Taremi gave Porto the lead after just 63 seconds after a defensive mixup by Juventus gifted him an easy finish, and Moussa Marega netted 19 seconds into the second half.
Federico Chiesa scored what could prove to be a vital away goal for Juventus in the 82nd minute.
Juventus forward Cristiano Ronaldo was kept quiet on his return to his homeland as the visitors struggled to make an impact.
The second leg will be on March 9 in Turin.
Juventus beat Porto home and away without conceding a goal the last time the two sides met at the same stage four years ago.
But it gifted Porto the lead after barely a minute when Juventus midfielder Rodrigo Bentancur attempted to play a back pass to goalkeeper Wojciech Szczesny, not realizing Taremi was right behind him to intercept and slot home from six yards.
Juventus appeared to lack energy and ideas and its night got worse in the 35th when captain Giorgio Chiellini limped off with a calf injury.
Porto was even quicker off the mark at the start of the second half when Wilson Manafá ran down the right before rolling across for Marega to turn in at the near post.
Juventus coach Andrea Pirlo brought on forward Álvaro Morata shortly after the hour mark for Weston McKennie.
Morata had scored six goals in as many Champions League appearances this season and Juventus looked more dangerous after he came on.
Porto hadn’t conceded a goal at home in the Champions League this season but that streak came to an end when Adrien Rabiot burst down the left and crossed for Chiesa to fire a first-time shot into the far corner.
Chiesa became the first Juventus player apart from Ronaldo to score in a Champions League knockout game since Blaise Matuidi in 2018.