Juventus crashed out of the Champions League last 16 for the second year running on Tuesday, losing to 10-man Porto on away goals despite winning the second leg 3-2 in Turin.
Sergio Oliveira’s extra-time free-kick sent the two time winners Porto through to the quarter-finals as the tie finished 4-4 on aggregate.
Leading 2-1 from the first leg in Portugal, Oliveira’s first-half penalty increased Porto’s advantage but Juventus levelled the tie through two goals from Federico Chiesa, which came either side of Porto striker Mehdi Taremi’s red card.
Oliveira then rifled home a low free-kick on 115 minutes, which passed through the legs of Ronaldo, with Adrien Rabiot’s header in reply coming in vain for Juventus.
Juventus had been counting on Portuguese striker Ronaldo, the competition’s record goalscorer, and in-form Spaniard Alvaro Morata, who had scored six goals in the competition this season, to pull them through.
Andrea Pirlo had regained several injured players including midfielder Arthur and defender Leonardo Bonucci, but captain Giorgio Chiellini remained on the bench with Danilo suspended.
The Italian champions fell behind on the night when Merih Demiral conceded a penalty after bundling over Taremi in the box with Dutch referee Bjorn Kuipers pointing to the spot.
Oliveira made no mistake, sending Wojciech Szczesny the wrong way to give the visitors a 3-1 advantage overall.
Juve hit back after the break thanks to Chiesa’s double, the first on 49 minutes when Ronaldo controlled and knocked it back for Chiesa to curl in past Marchesin from a tight angle.
Porto soon went a man down with Taremi sent off for two quick yellow cards, the second for recklessly kicking the ball away.
Despite the Iranian’s absence Porto managed to hold on, with Pepe intervening brilliantly to force Chiesa into striking the post after rounding Marchesin.
Chiesa made no mistake just after the hour getting his head to another perfect Juan Cuadrado cross which Marchesin again got a hand to but could not stop to pull the sides level 3-3 on aggregate.
Ronaldo missed a chance to add to his tally of 134 Champions League goals after heading a Cuadrado delivery wide with 12 minutes to go.
It was end to end action with Marchesin denying Chiesa a hat-trick, while Morata had a goal ruled out for offside in injury time before Cuadrado was desperately unlucky to see his curling shot smack back off the bar.
Porto had the best chance of the first 15 minutes in extra time with Szczesny blocking a Moussa Marega header.
But Oliviera won a free-kick and fired in low to beat Szczesny on 115 minutes amid wild celebrations from the Portuguese bench.
Two minutes later Rabiot headed Juventus back into contention but the hosts could not snatch another goal as their European adventure ended prematurely once more.