The Celtics also agreed with free-agent guard Jeff Teague on a one-year deal, his agent, JR Hensley, told ESPN's Adrian Wojnarowski.
Thompson leaves the Cavaliers after an eight-season run with Cleveland, which drafted him fourth overall in 2011. He endured highs and lows with the Cavs, capturing a title with LeBron James & Co. in 2016, only to be part of 38 combined wins with the team in the two years since James left for Los Angeles.
Whether he'd remain in Cleveland became a question when the Cavs acquired fellow big man Andre Drummond at the February trade deadline. The two ended up playing just five games together because of the COVID-19-related shortened season, and while Drummond holds a player option for the coming season, the question was whether the Cavs would want to keep both players.
Thompson has produced for Cleveland, averaging a double-double the past two seasons after never having done so previously in his career. And this past season, he averaged a career-high 12.0 points per game while showing some deep shooting range (9-of-23 from the 3-point line) for the first time in his career.
But he also shot just 51% on 2-pointers, his lowest mark since 2013-14, while his 1.8 turnovers per game were a career high.
Teague fills an immediate need for the Celtics at backup point guard with the recent departure of Brad Wanamaker to Golden State.
The Timberwolves traded Teague to the Atlanta Hawks before last season's trade deadline, sending the veteran point guard back to the team that drafted him in 2009.
Teague, who made an All-Star team with the Hawks in 2014-15, fully embraced coming off the bench for the first time in his career -- backing up the next great Atlanta point guard in Trae Young.
While his days as a starter are likely over, Teague remains a crafty playmaker and a boon to any bench unit.
Teague, 32, averaged 10.9 points and 5.2 assists in 24.8 minutes per game for Minnesota and Atlanta last season.