Sanabria makes Roma switch from Barcelona
The 18-year-old was widely tipped to join the Stadio Olimpico club during the January transfer window but the deal was halted by regulations surrounding non-EU players.
Roma are permitted to sign two players from outside the EU per season - with Gervinho and Maicon arriving last term.
Therefore, Sanabria was bought by Roma's Serie A rivals Sassuolo at the start of the year, where he featured just twice as the club narrowly avoided relegation.
A move to Roma was always on the cards, though, and Sanabria has agreed a contract with the Serie A runners-up until 2019.
He will become the latest close-season signing to arrive at the club after Ashley Cole, Salih Ucan, Leandro Paredes and Juan Iturbe.
Roma will pay an initial fee of €2.5 million for Sanabria, which could rise to €7m based on bonuses.
The striker made his Roma debut in Thursday's friendly win over Liverpool in Boston - replacing captain Francesco Totti after an hour.