Ten-man Porto have upset Juventus to reach the Champions League quarter-finals on away goals with a 4-4 aggregate draw, despite losing 3-2 to the Italian side on Wednesday (NZ time).
Sergio Oliveira's extra-time free-kick for Porto's second goal proved decisive for the visitors.
Porto dominated the first half and took the lead in the 19th minute, with Oliveira's penalty taking them into the break in front, as they looked comfortable at the Juventus Stadium.
But with the first attack of the second half Juve's Federico Chiesa - who scored their goal in the 2-1 last-16, first-leg defeat in Portugal - arrowed a strike into the top corner to give his side hope four minutes after the restart.
The game turned further in Juve's favour in the 54th minute, as Mehdi Taremi needlessly got sent off for picking up a second yellow card for kicking the ball away, with Chiesa levelling the scoreline on aggregate with his head in the 63rd.
The hosts had chances to win the tie but the game went to extra time and the drama was far from over.
Porto won a free-kick which Oliveira drilled home to spark wild scenes of celebration amongst the players and coaching staff.
Three minutes from time, Adrien Rabiot's header for Juve ensured a grandstand finish in an enthralling encounter, but Porto held on for a famous victory.
In other action, Borussia Dortmund striker Erling Haaland struck once in each half, as they drew 2-2 with Sevilla in their last-16 second leg to advance to the quarter-finals with a 5-4 aggregate win.
The Norwegian notched his 20th Champions League goal in 14 games with a controversial 54th-minute penalty, after having tapped in a Marco Reus cutback against the run of play to give Dortmund the lead in the first half.
Sevilla - who made the quarter-finals in 2018 and enjoyed a strong first half - hit back with two goals from Youssef En-Nesyri, the first a 66th-minute penalty followed by a stoppage-time header to make it 2-2.
The 20-year-old Haaland has now become the all-time top Norwegian scorer in the competition, with one more goal than current Manchester United coach Ole Gunnar Solskjaer, as Dortmund reached the last eight for the first time since 2017.
Haaland's penalty, awarded following a lengthy VAR review for an earlier challenge after he had put the ball in the net, was initially saved before he retook it and scored.
Reuters.