Terms of the deal weren't announced, but ESPN reported it is worth more than $30 million and includes a club option for 2018.
Infante, 31, batted .318 with 24 doubles, 10 homers and 51 RBI in 118 games last season with the Detroit Tigers.
The 2010 all-star was also reportedly being courted by the New York Yankees.
He boasts a .279 career average with 207 doubles, 74 homers and 421 RBI in 1,209 career games with the Tigers (2002-07), Braves (2008-10), Marlins (2011-12) and Tigers (2012-13).
Scarlett Johansson steps out with fiance after pregnancy reveal
Teacher apologizes for showing sexual image of herself in class