Sergio Oliveira’s 115th-minute goal shocked Juventus to send Porto through on away goals in a stunning Champions League last-16 tie.
Oliveira’s long-range free-kick deep into the second half of extra time went through the legs of Cristiano Ronaldo in the Juventus wall to make it 2-2 on the night and give Porto the lead over two legs.
Adrien Rabiot’s thumping header two minutes later gave the Italian champions hope, only for Porto goalkeeper Agustin Marchesin to produce a stunning save in the final moments to ensure the Portuguese champions advanced on away goals despite a 3-2 second leg Juventus win.
Porto had opened up a 3-1 aggregate lead through Oliveira’s 19th-minute penalty after Merih Demiral brought down Porto’s Mehdi Taremi.
But Juventus’ Federico Chiesa found the far corner from a tight angle in the 49th minute before Taremi was shown a second yellow card for kicking the ball away.
And Chiesa headed in a Juan Cuadrado cross after 63 minutes to level the tie on aggregate.
It looked like Juventus would capitalise on their man advantage but Porto defended superbly to take the match extra time where Oliveira’s decided the tie.
Juventus have now been knocked out on away goals at this stage for the second consecutive season.
Shades of 2004 in epic Porto win
Costinha’s last minute free-kick against Manchester United in 2004 ensured an unfancied Porto side advanced to the quarter-finals against Manchester United on an historic night for the Portuguese club, who went on to win the Champions League that season.
And 17 years later it was Oliveira who added his name into the history books with Juventus keeper Wojciech Szczesny unable to keep out his low strike.
Porto looked to have thrown away their chances of progressing when Iranian forward Taremi was shown two quick yellow cards for a late challenge and unsportsmanlike conduct early in the second half.
But once Juventus had levelled the tie on aggregate in the 63rd minute, a combination of stoic defending and fortune kept Andrea Pirlo’s side at bay.
Morata saw an injury-time goal ruled out while Cuadrado curled a thumping effort against the crossbar with seconds of normal time remaining.
In the extra 30 minutes, Juventus continued to create chances, but it was Sergio Conceicao’s side who scored against the run of play to advance to the final eight for the second time in three seasons.
Pressure on Pirlo
Eyebrows were raised when former Juve midfielder Pirlo was named manager of the Italian giants last summer despite the World Cup winner having no previous managerial experience.
His side’s results this season have been, to put it lightly, inconsistent.
Juventus are in the final of the Coppa Italia, but in the league the side who have won the last nine Serie A titles look a shadow of their former selves.
With the gap to leaders Inter Milan at a worrying 10 points, Pirlo’s position at the top has repeatedly been brought into question.
An expected home win over Porto would have temporarily silenced critics. Instead, the voices against the former Juventus and Milan midfielder are expected to get louder.
- 16Ju CuadradoBooked at 92mins
- 19BonucciSubstituted forde Ligtat 75′minutes
- 12Lobo Silva
- 8RamseySubstituted forMcKennieat 75′minutes
- 25RabiotBooked at 114mins
- 5ArthurSubstituted forKulusevskiat 102′minutes
- 22ChiesaBooked at 90minsSubstituted forBernardeschiat 102′minutesBooked at 103mins
- 7Cristiano Ronaldo
- 4de Ligt
- 36Di Pardo
- 18Manafá Jancó
- 19MbembaBooked at 120mins
- 12SanusiSubstituted forDíazat 71′minutes
- 17JM CoronaSubstituted forMonteiro Pinto Leiteat 118′minutes
- 27OliveiraBooked at 97minsSubstituted forLoumat 118′minutes
- 8UribeSubstituted forGrujicat 90′minutes
- 25OtávioBooked at 45minsSubstituted forSarrat 62′minutes
- 11MaregaSubstituted forMartínezat 105′minutes
- 9TaremiBooked at 54mins
- 4Monteiro Pinto Leite
- 28Felipe Anderson
- 30de Lima Barbosa
- 31Chipela Gomes
- 99Meireles Costa
- Björn Kuipers
Match ends, Juventus 3, FC Porto 2.
Second Half Extra Time ends, Juventus 3, FC Porto 2.
Juan Cuadrado (Juventus) wins a free kick in the attacking half.
Foul by Toni Martínez (FC Porto).
Foul by Dejan Kulusevski (Juventus).
Luis Díaz (FC Porto) wins a free kick in the defensive half.
Chancel Mbemba (FC Porto) is shown the yellow card.
Attempt missed. Adrien Rabiot (Juventus) left footed shot from outside the box is too high. Assisted by Alex Sandro.
Corner, Juventus. Conceded by Wilson Manafá.
Attempt blocked. Federico Bernardeschi (Juventus) left footed shot from outside the box is blocked.
Corner, Juventus. Conceded by Diogo Leite.
Foul by Adrien Rabiot (Juventus).
Marko Grujic (FC Porto) wins a free kick on the right wing.
Substitution, FC Porto. Mamadou Loum replaces Sérgio Oliveira.
Substitution, FC Porto. Diogo Leite replaces Corona.
Goal! Juventus 3, FC Porto 2. Adrien Rabiot (Juventus) header from the centre of the box to the top left corner. Assisted by Federico Bernardeschi with a cross following a corner.
Corner, Juventus. Conceded by Agustín Marchesín.
Attempt saved. Cristiano Ronaldo (Juventus) left footed shot from the centre of the box is saved in the bottom left corner. Assisted by Federico Bernardeschi with a cross.
Corner, Juventus. Conceded by Corona.
Goal! Juventus 2, FC Porto 2. Sérgio Oliveira (FC Porto) from a free kick with a right footed shot to the bottom left corner.