Defiant 10-man Porto upset Juventus to reach the Champions League quarter-finals on away goals after a 4-4 aggregate draw despite losing 3-2 to the Italians following extra time in a thrilling clash that went to the wire on Tuesday.
Sergio Oliveira's low free-kick for Porto's second goal in the extra period went through the legs of Cristiano Ronaldo in the Juve wall and squeezed past goalkeeper Wojciech Szczesny's despairing dive to strike what proved to be the decisive blow.
Porto had 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 re-start.
The game turned further in Juve's favour as Mehdi Taremi needlessly got sent off for picking up a second yellow card in the 54th minute for kicking the ball away, with Chiesa levelling the scoreline on aggregate with a header 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 as Porto won a free-kick which Oliveira drilled home in the 115th minute to spark wild celebrations amongst the players and coaching staff.
Adrien Rabiot's header three minutes from the end of extra-time for the hosts ensured a grandstand finish in an enthralling encounter, but Porto managed to hold on for a famous victory.
The win was a fitting way to mark the 17th anniversary of the night Jose Mourinho's Porto side knocked Manchester United out in dramatic style en route to winning the Champions League.
"These games are marked in the history of the club," Porto coach Sergio Conceicao said. "The players dignified the fans with the passion they have.
"We suffered but also created difficulties for Juventus. We were a real team. Congratulations to the players, they did a fantastic job. After Taremi's expulsion, we showed the Porto DNA. We never stopped believing."
From the start it was clear Porto were not content to sit on the first-leg lead, with eight shots at goal inside 25 minutes.
They got the chance to deservedly go ahead on the night when Merih Demiral fouled Taremi in the penalty area, with Oliveira converting his third Champions League spot kick of the season.
Porto had more shots in the first half than they had managed in the opening 45 minutes of any Champions League knockout tie away from home since April 2009, but from the first attack of the second half Chiesa pounced to score for Juve.
Then came what looked like the game’s turning point. Already on a yellow card, Taremi booted the ball away after the referee blew for a free-kick to Juventus, earning him a second caution.
When Chiesa's header hit the net from a Juan Cuadrado cross, Andrea Pirlo's side seemed on course to reach the last eight.
But Porto would not lie down, with veteran defender Pepe throwing himself at everything. Ronaldo had a great chance that he uncharacteristically headed wide, before Chiesa was denied by a brilliant save from Porto keeper Agustin Marchesin.
Right at the end of normal time, Cuadrado thought he had won the tie only for his curled strike to hit the crossbar.
A first penalty shootout in the Champions League since the 2016 final loomed, with Porto defending manfully. But with a rare attack, they won the free-kick that decided the contest.
As many expected, Ronaldo did have a hand in the decisive goal but not as he would have wanted, as the ball passed through his legs as he jumped in the wall, with Szczesny unable to keep Oliveira's low strike out of the Juve goal.
Following Rabiot's headed reply there were plenty of Porto heart-in-mouth moments, penalty appeals waved away and last-ditch blocks but they deservedly got over the line.
Haaland goals send Dortmund past Sevilla into last eight
Borussia Dortmund striker Erling Haaland struck in each half as they advanced to the Champions League quarter-finals after a 2-2 draw with Sevilla in their last-16 second leg on Tuesday to complete a 5-4 aggregate win.
The Norwegian notched his 20th Champions League goal in 14 games -- and 10th in the competition this season -- 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 hit back with two goals from Youssef En-Nesyri in the second half, the first a 66th-minute penalty followed by a stoppage-time header to make it 2-2.
Sevilla’s second goal set up a frantic finish, but Dortmund held on to edge through after their 3-2 win in the first leg last month.
The 20-year-old Haaland has become Norway’s all-time top 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.
“This feels so cool,” Dortmund coach Edin Terzic said. “We are extremely happy because for us it is not to be taken for granted in the past years that we are at this stage.”
“Erling is outstanding. We are happy to have two more Champions League games now for him to keep scoring.”
Sevilla, who arrived in Dortmund on the back of three straight defeats, dictated proceedings from the start and had a good effort by Lucas Ocampos early on.
Without injured Jadon Sancho, Dortmund, who lost to Bayern Munich in the league on Saturday, hardly got a look in until Haaland struck with their first chance of the game in the 35th minute.
The Norwegian put the ball in the net five minutes after the restart with a superb effort, but in an extraordinary VAR review, the referee Cuneyt Cakir first disallowed the goal for a foul by Haaland and then awarded Dortmund a penalty for a shirt-pull on the striker minutes earlier.
Keeper Yassine Bounou saved Haaland’s spot kick as well as his thundering rebound but the referee ordered it to be retaken after he said the keeper had moved off the line.
Haaland slotted in on his second attempt to take his goal tally in the competition this season to 10 in six games.
Despite scoring twice Sevilla could not find another to send the game to extra time.
“We are angry because in the four halves we were better in three. We missed scoring that third goal,” Sevilla coach Julen Lopetegui said.