Assistant general manager Bobby Evans announced the deal late Tuesday, ahead of the team's first full-squad spring training workout Wednesday at Scottsdale Stadium.
An arbitration hearing had been scheduled for early Wednesday in St. Petersburg, Fla. Belt was seeking $3.6 million and the Giants offered $2.05 million.
The 25-year-old Belt batted .289 with 17 home runs and 67 RBIs in 150 games last season as San Francisco missed the playoffs a year after winning the World Series. His salary was $531,500.
A fifth-round pick in the 2009 amateur draft by the Giants, the left-handed-hitting Belt has been a major league regular the past two seasons.