The Serie A side will pay €3m (£2.7m) to keep the player for a year.
Smalling has spent nine seasons at Old Trafford, winning the league title twice, but had fallen out of favour under boss Ole Gunnar Solskjaer.
“This is the perfect opportunity for me. The chance to experience a new league, with a big team that has got big aspirations is exactly what I needed,” Smalling said.
“We are pleased to bring a player like Chris, who has so much experience, to Roma,” said Roma sporting director Gianluca Petrachi.
Smalling, 29, joined United from Fulham in 2010 and extended his contract at Old Trafford to 2022 in December.
“This opportunity for Chris has come up in the last couple of days,” said Solskjaer on Friday.
“We’ve got six fit centre-backs. I couldn’t promise him regular football.”
“It’s a big club, a good league. There’s not many English players who have had the chance to play in Italy and I’m sure he’ll come back stronger and better for it.”