
The 20-year-old rising star has been rewarded for a strong first season in Rome with a five-year deal that will keep him at the capital club until June 2024.
Zaniolo joined Roma last summer in a deal which saw Radja Nainggolan move the other way to Inter Milan.
He made 36 appearances in his first season and scored six goals, and had been linked with a possible move to clubs including Manchester United and Tottenham.
“I would like to thank the club for giving me the opportunity to tie myself even closer to these colours – it is exactly what I wanted,” said Zaniolo.
According to reports, the young midfielder will earn two million euros (US$2.2 million) per season with his new contract, which is a significant increase from his previous contract that only paid him €700,000 (US$780,000) per season.
“We are certain that he will play a huge role for this team in the future,” said Roma chief executive Guido Fienga.
Roma finished sixth in Serie A last season.