Alessandro Florenzi conceded a controversial penalty in extra-time as Porto beat Roma 4-3 on aggregate in the Champions League round of 16.
Alex Telles scored a match-winning penalty with three minutes of extra-time remaining as Porto beat Roma 3-1 to clinch a 4-3 aggregate victory and progress to the quarter-finals of the Champions League.
Roma took a 2-1 lead into the second leg after an uninspiring victory at Stadio Olimpico but Porto levelled the last-16 tie when Tiquinho Soares scored from close range to put the hosts ahead on the night.
Daniele De Rossi struck from the penalty spot but Moussa Marega made it 2-1 early in the second half before Wednesday’s game petered out and went into extra-time.
A penalty shoot-out looked imminent until Alessandro Florenzi’s shirt pull on Fernando prompted a VAR consultation and, after referee Cuneyt Cakir pointed to the spot, Telles stepped up to send Estadio do Dragao into raptures as Porto reached the last eight for the first time in four years.
The result puts Roma coach Eusebio Di Francesco’s future in doubt, with the club outside the top four in Serie A having suffered a derby defeat to Lazio last time out and no longer in contention for any silverware.
Porto, meanwhile, are the first Portuguese club to defeat Italian opposition in the Champions League since 2005 and Sergio Conceicao’s men can continue to dream of European glory while pushing for the Primeira Liga title.
⏱Final de Jogo / End of the match / Final del Partido
— FC Porto (@FCPorto) March 6, 2019
Porto deservedly levelled the tie after 26 minutes when Kostas Manolas, making his 200th Roma appearance, was dispossessed in midfield and the hosts poured into the box where Marega’s cross beat goalkeeper Robin Olsen and Soares side-footed into the empty net.
But Roma restored their overall advantage after Diego Perotti was brought down on his way into the box by Eder MIlitao and De Rossi sent Iker Casillas the wrong way with his spot kick after staggering his run up.
Lorenzo Pellegrini replaced the struggling De Rossi at the end of the first half and Soares sent a diving header narrowly over as Porto sought to level the tie at 3-3.
Olsen then made a good save at full stretch from Marega but there was nothing the goalkeeper could do when the same player applied a volleyed finish to Corona’s in-swinging cross, lifting the ball high into the net with his instep from point-blank range.
Perotti was guilty of a glaring miss, hooking wide from 12 yards when allowed to run through on goal unchallenged, before the second half ground to a halt with both sides reluctant to get caught on the break.
Marega lashed a shot over early in extra-time but chances were few and far between until Edin Dzeko missed two in quick succession as the hosts began to tire.
But substitute Maxi Pereira piled forward in the 117th minute and flashed the ball across the face of goal where it was deemed Fernando had his shirt pulled by Florenzi.
Telles made no mistake, slamming the penalty into the left side of the net and clinching a historic victory.