Belt, 34, had spent his previous 12 big league seasons with the San Francisco Giants. He was limited to 78 games last year because of a right knee injury that required season-ending surgery. He hit .213 with eight homers and 23 RBIs, playing his last game on Aug. 20.
"As we continue to improve upon a strong Blue Jays roster, the elite offensive skills and veteran presence of Brandon is an addition that will greatly complement this team," general manager Ross Atkins said in a statement. "His consistency and experience on the game's biggest stages make him a great addition culturally and within our clubhouse."
Toronto also acquired 29-year-old right-hander Zach Thompson from Pittsburgh for 25-year-old minor league outfielder Chavez Young.
Belt gives the Blue Jays a left-handed bat who likely will serve primarily as a designated hitter and a backup to first baseman Vladimir Guerrero Jr.
Belt has a .261 career batting average and .356 on-base percentage. He won World Series titles with the Giants in 2012 and 2014.
Thompson was 3-10 with a 5.18 ERA in 22 starts and seven relief appearances for Pittsburgh last season. Drafted by the Chicago White Sox in 2014, he made his big-league debut in 2021 with Miami. Thompson is 6-17 with a 4.44 ERA in 36 career starts and 19 relief appearances.
Young hit .237 with six homers and 22 RBIs in 70 games last year for Class A Dunedin and Triple-A Buffalo.