The 31-year-old, who played 247 times for City, won two Premier League titles, an FA Cup and two League Cups in his seven years with the club.
The Serbia full-back moved to City from Roma’s rivals Lazio for £16m in 2010.
Kolarov becomes the latest defender to leave City this summer, following Pablo Zabaleta, Gael Clichy and Bacary Sagna out of the club.
“I am extremely happy to be here,” he said. “I will give 100% and more for Roma. My objective is always the same: to win.”
On leaving City he added: “When I came in 2010, honestly, I didn’t expect to play so long.
“Today is the day I have to say goodbye. For me, it’s a very sad day. I am proud that I was part of making City the club that it is.”
Kolarov will now join up with the Italian club in Boston as they continue their pre-season tour of the United States.