Terms were not disclosed, but a source told ESPN's Adam Schefter that the deal is worth $9.25 million and has incentives that could push the total to $10 million.
Suh replaces Gerald McCoy on the Buccaneers' defensive line. The longtime Buccaneers defensive tackle was released by the team this week. He was scheduled to be paid a $13 million salary in 2019, none of which was guaranteed, before he was released.
McCoy might not be out of work for long, as Cleveland Browns general manager John Dorsey announced Thursday that McCoy will visit his team on Friday.
Suh (second) and McCoy (third) were taken with consecutive picks in the first round of the 2010 NFL draft.
Suh was interested in playing for Tampa's new defensive coordinator, Todd Bowles, a source told Schefter.
Suh finished the 2018 regular season with 4.5 sacks, four pass deflections and two fumble recoveries. He made a more significant impact in the playoffs, helping to shut down running back Ezekiel Elliott in a divisional-round win over the Dallas Cowboys and finishing with 1.5 sacks and four tackles in the Rams' NFC Championship Game victory over the New Orleans Saints.
Suh has 56 career sacks in nine seasons and has missed only two starts, both in 2011, when the NFL suspended him two games for on-field conduct.
ESPN's Lindsey Thiry contributed to this report.