
Nicolo Zaniolo struck twice to hand AS Roma a narrow 2-1 advantage over FC Porto in the Champions League last 16 knockout round.
The 19-year-old, who only made his debut in this season's competition back in September, slotted into the corner to give the Giallorossi the lead before doubling his tally after tucking home the rebound from Dzeko's shot.
But substitute Adrian netted a crucial goal late on to ensure the visitors will have a fighting chance of progress in the second leg.
The visitors looked nervous at the back early on and Yacine Brahimi nearly turned Edin Dzeko's cross into his own net after a lack of communication with goalkeeper Iker Casillas.
Then came the historic VAR moment after a big appeal from the Roma players for handball. Nicolo Zaniolo's cross was blocked by the hand of Pepe, but it appeared to occur outside of the box and referee Danny Makkelie waved play on.
The Giallorossi did come close to taking the lead on 23 minutes. Federico Fazio and Kostas Manolas took advantage of some shoddy marking from Porto to try and connect with Lorenzo Pellegrini's whipped free-kick but narrowly missed out.
With five goals in the competition already, it was no surprise to see Dzeko have the best chance of the first half. The Bosnian turned inside Eder Militao brilliantly and lashed a right-footed strike onto Casillas's near post.
Both sides showed more attacking intent in the second half and Casillas had to be on hand to deny Bryan Cristante from 20 yards out, punching away the Italian's powerful drive.
But the opener came when Dzeko, showing some superb work to hold the ball up, laid it off to Zaniolo and he found the far corner with a low strike to send the crowd into pandemonium.
Dzeko's disagreement with the post continued again when the Bosnian fired a low shot past Casillas only to see it bounce off the framework. But there was Zaniolo to tuck home and give Roma a strong lead.
Just four minutes later, Porto were back in it. Tiquinho Soares had a speculative shot charged down by Fazio and it fell to Adrian, who was onside and alert to take a fine touch before passing into the corner.
Porto went searching for a late equaliser but the away goal certainly hands them a big opportunity to seal their progress at the Estadio do Dragao in the second leg.
Team news, match highlights and reaction
AS Roma: Mirante, Florenzi, Manolas, Fazio, Kolarov, Pellegrini, De Rossi, Cristante, Zaniolo, Dzeko, El Shaarawy.
Substitutes: Olsen, Juan Jesus, Marcano, Santon, Pastore, Kluivert, Nzonzi.
FC Porto: Casillas, Eder Militao, Felipe, Pepe, Alex Telles, Herrera, Danilo Pereira, Fernando, Otavio, Tiquinho Soares, Brahimi.
Substitutes: Vana, Maxi Pereira, Costa, Hernani, Torres, Adrian, Andre Pereira.
Referee: Danny Makkelie (Holland)
Can't see the AS Roma 2 FC Porto 1 blog? Click here to access our desktop page.