The 27-year-old Italy international arrived in Roma on Tuesday to complete the deal.
Zappacosta joined Chelsea from Torino on a four-year deal for £23m in 2017.
But after 23 appearances in the Premier League in his first season he only played four times in 2018-19. He has not made an appearance for Chelsea this season.
Fellow defenders David Luiz and Gary Cahill have already left Stamford bridge this summer.