Un gran duelo nos esperaba en el estadio Do Dragão en Oporto con un equipo local que buscaba llegar lejos en la competición europea tras su difícil situación en la liga doméstica. La Juventus se encontraba en una situación similar con el objetivo de conseguir la orejona que tanto se le complica en los últimos años. La competición favorita de Cristiano Ronaldo nos ofrecía una nueva entrega de los octavos donde pese al favoritismo de Juventus todo podía ocurrir.
El partido empezó muy emocionante con un gol inicial en el minuto 1 del Oporto. Betancur con el balón en el área cedió la posesión a su portero y el mal pase del uruguayo permitió a Taremi meter el pie y abrir el marcador. La Juventus se vio con la obligación de remontar desde el minuto 2 y tuvo que remar a contracorriente durante todo el partido. El Oporto adelantó líneas en el juego defensivo imposibilitando que el equipo juventino pudiese jugar fácil y cerrando muy bien los espacios. Esto trabó a la Juventus a la hora jugar con facilidad y poder crear peligro en la portería de Marchesín. Tras el primer cuarto de hora de partido, se pudo observar un juego muy condicionado por el gol inicial del equipo portugués, que dejaba al equipo local muy cerrado defensivamente y esperando a que los equipos italianos saliesen y poder hacer daño a la contra y con espacios.
Además, los de Pirlo tuvieron muchos problemas para sacar el balón con facilidad debido a la alta presión de los portugueses que se vieron confiados tras el primer tanto. Durante toda la primera parte, la Juventus se vio negada en ataque sin poder generar peligro claro y con la frustración de sus delanteros que no tuvieran gran participación. Pese a ganar la posesión del balón, no supieron jugar en tres cuartos de campo ni generar acciones peligrosas.
En la segunda parte no cambió el trascurso del encuentro: en el inicio de los segundos 45 minutos, el Oporto marcó el segundo gol del partido. Una mala defensa de la Juventus dejó que Manafá entrase con facilidad por la banda derecha y pusiese un balón perfecto a Marega para poner el 2-0 y complicar la eliminatoria a los italianos. Tras el gol, los visitantes, con la necesidad de cambiar la situación, se fueron al ataque y crearon cierto peligro en la portería rival.

Partido muy plano, con mucho balón, con el Oporto defendiendo muy bien sin meterse en su área y con posibilidad de generar contras tras la apertura de los italianos. Pese a la urgencia de cambio en el juego ofensivo, los primeros cambios de la segunda parte llegaron a favor del club portugués, que cambio a Otavio por Luís Díaz, buen jugador en el aspecto defensivo que tuvo que trabajar corriendo detrás del balón en las posesiones largas de la Juventus, y que, además, en el aspecto ofensivo tiene mucha verticalidad para encontrar huecos en el ataque. La Juventus, que continuaba con la obligación de meter un gol para facilitar la eliminatoria de cara a la vuelta, realizó los cambios algo tarde, únicamente sacando al campo a Morata por McKennie. Los italianos no pudieron traspasar la dura defensa del Oporto y optaron por generar un tímido peligro con los disparos desde fuera del área.
Cuando todo parecía estar sentenciado, una gran internada por la banda izquierda de Rabiot acabaría generando el gol para recortar distancias. El francés metió una asistencia en diagonal para que Chiesa definiera ajustando al poste izquierdo, imposible para el portero. Un gol en el minuto 82 mete a la Juventus en la eliminatoria y da alivio a un equipo muy plano durante todo el partido y que no tuvo grandes ocasiones. En los minutos finales, con el reloj casi cumplido, ambos equipos fueron a por un gol que les permitiese aumentar sus posibilidades; la Juventus en busca del empate y el Oporto del tercer tanto que provocara una situación inmejorable en la eliminatoria. Finalmente, el partido terminó 2-1 dejando la eliminatoria abierta para la vuelta en el Juventus Stadium.