Sérgio Oliveira's free-kick deep in extra time ensured ten-man Porto eliminated the Italian champions.
Sérgio Oliveira scored twice as ten-man Porto miraculously progressed on away goals after their round of 16 tie with Juventus ended 4-4 on aggregate.
Match in brief
Porto were the dominant force in the formative stages with Mehdi Taremi clipping the bar early on then being felled by Merih Demiral in the area, giving Sérgio Oliveira the chance to sweep the visitors in front from the spot.
Agustín Marchesín denied Álvaro Morata twice before the interval but those saves counted for little as the tide turned in the space of 15 second-half minutes. Federico Chiesa fired Juventus level and headed in their second, with Porto reduced to ten men in between after two quick bookings for Taremi.
And yet Porto held out for extra time, stood firm, then delivered the decisive blow when Sérgio Oliveira's skidding free-kick beat Wojciech Szczęsny. Adrien Rabiot nodded in for Juve two minutes later but they could not find the fourth goal they needed.
Player of the Match: Sérgio Oliveira (Porto)
"He scored two goals. He was very good defensively and also instigated all Porto's attacking threat."
Cosmin Contra, UEFA Technical Observer
Paolo Menicucci, Juventus reporter
Juve are out after an incredible tie which saw the momentum switch from one side to the other so many times. It is fair reward for Porto, who resisted with ten men when everything seemed lost. A huge disappointment for Andrea Pirlo's side, though. A great display by Chiesa, including two spectacular goals, was not enough for the Bianconeri. Likewise their desperate onslaught for a miraculous comeback after Rabiot's late goal.
Carlos Machado, Porto reporter
This was a legendary performance from so many players. Marchesín, Pepe and Sérgio Oliveira stood out but, overall, it was a tremendous team effort from Porto, who reach the Champions League quarter-finals for the fifth time. They fully deserved it too, because they knew how to suffer, playing from the 54th minute with ten men. Still they managed to resist, regroup and win the tie. What an epic night!
Sérgio Oliveira, Porto midfielder: "It is a unique feeling, to score two goals here. We are very happy with our qualification. We clearly deserved it. It is a source of pride for the club and also for our country. We had to suffer, we had to play deeper many times, but we always looked for the goal. We are immensely happy."
Pepe, Porto defender: "The work of the whole team was important to go through in a passage that was fully deserved. It's hard to explain by words the way we managed to react [playing with ten men]. Today we showed lots of character: the players were focused and that made it easy for us."
Andrea Pirlo, Juventus coach: "We started well and there was a chance through Álvaro Morata to take the lead immediately. It didn’t go in, there was an error for the penalty, we could have conceded a second, but then we played the game we should have done in the second half, helped also by the extra man. The game could have been different if we had scored in the opening minutes. When you concede, then it becomes a completely different match."
• Juventus have been eliminated from six of their last seven UEFA Champions League knockout ties when losing the first leg.
• Juve have not tasted defeat in their last 11 home matches in the UEFA Champions League round of 16 (W8 D3).
• The Bianconeri have scored two goals or more in ten of their last 11 home games in the UEFA Champions League round of 16.
• Porto have won 35 of the 43 UEFA competition ties in which they recorded a home first-leg victory.
• Porto have scored the first goal in seven of their eight UEFA Champions League matches this season.
• The Dragons are without a win in their last 14 away games in the UEFA Champions League knockout phase (D4 L10).
Juventus: Szczęsny; Cuadrado, Bonucci (De Ligt 75), Merih Demiral, Alex Sandro; Chiesa (Bernardeschi 102), Rabiot, Arthur (Kulusevski 102), Ramsey (McKennie 75); Morata, Ronaldo
Porto: Marchesín; Manafá, Pepe, Mbemba, Zaidu (Luis Díaz 71); Corona (Diogo Leite 118), Sérgio Oliveira (Loum 118), Uribe (Grujić 90), Otávio (Sarr 62); Marega (Toni Martínez 106), Taremi
The quarter-final and semi-final draws will be streamed live on UEFA.com from midday CET on Friday 19 March. There are no seedings or country protection.