The 19-year-old got his first ever Champions League goal in the 70th minute in Rome on Tuesday, adding a second six minutes later to inflict a first defeat on Porto in this year's top-tier European competition.
But Adrian Lopez pulled a vital goal back for the Portuguese club after 79 minutes to ensure they remain in the hunt going into their home leg on May 6.
"It's an incredible night, I'm speechless and never would have expected such a thing," Zaniolo told Sky Sport Italia.
"But we've got the second leg coming up, we shouldn't have conceded the goal."
The night belonged to the youngster from Tuscany who has become a fan favourite since arriving from Inter Milan, where he never played a top-flight game, in exchange for Radja Nainggolan last summer.
On Tuesday, he was given an ovation by an ecstatic home crowd who see him as the heir to club legend Francesco Totti.
The match sparked into life midway through the second half as Zaniolo netted with a precise finish after Edin Dzeko's lay-off.
He soon had his second when Dzeko went on the counter-attack, his shot bouncing off the post with Zaniolo on hand to tap in the rebound.
"Celebrating under the 'curva' is an extraordinary feeling," said Zaniolo. "I can't describe it. I hope to score many more."
"Zaniolo is not a surprise any more," said Roma captain Daniele De Rossi.
"His physical strength is incredible for a guy of his age and he combines it with great technique. He is already a great player, but he will become a great champion."
Eusebio Di Francesco's Roma, last year's semi-finalists, had fallen to the Portuguese club in both their previous meetings, most recently the 2016 play-off round in qualifying.
- Conceicao sets the mood -
Before Zaniolo's heroics, the match had been a lacklustre affair between two sides who had both eased through the group stage.
A furious row also erupted between Conceicao and Di Francesco, a former Roma player, on the touchline.
"He got annoyed, so did I, we spoke a little too loud," explained Conceicao. "But it was nothing serious, everything is okay.
"As beforehand it's still 50-50 (to qualify). Our goal leaves everything open," said Conceicao.
"I'm convinced we'll go through to the quarter-finals." Di Francesco praised "one of the best performances of the season from a collective point of view" from his team, who as so often conceded a goal quickly after going ahead.
"We won't be going to Porto to defend, but to score," he warned.
Dzeko looked destined to break the deadlock on 38 minutes when he beat the Porto defence only to blast a shot against the post.
Roma stepped up the pressure after the break, with Zaniolo setting up Bryan Cristante who wove his way through, again forcing a Casillas save.
A Danilo Pereira header flew wide, with Casillas on hand to parry a low Pellegrini effort, before Zaniolo broke through with his double to become the youngest Italian to score in the Champions League.
Lopez pulled a goal back for Porto three minutes later as the Roma defence were caught out by Tiquinho Soares' miscued volley, before Hector Herrera curled wide and Aleksandar Kolarov missed a chance late for a third for the hosts.
Roma held on for their first success over Porto, who have won the competition twice, most recently in 2004 under Jose Mourinho.
"We cannot be calm with a 2-1 victory but I think now we can say the chances of qualification are 51-49 for us," said De Rossi.
(This story has not been edited by Business Standard staff and is auto-generated from a syndicated feed.)