League sources told ESPN and MLB Media that Calhoun and the Diamondbacks are in agreement on a two-year, $16 million deal. The contract also includes a third-year club option for $9 million, with a $2 million buyout.
Calhoun, 32, became a free agent for the first time in his MLB career when the Angels declined to exercise his 2020 contract option. The Angels selected him in the eighth round of the 2010 MLB Draft out of Arizona State.
Calhoun made his major league debut with the Angels in 2012. He spent most of the last six seasons as Los Angeles' right fielder, winning a Gold Glove in 2015.
Calhoun had a .232 batting average with a career-high 33 home runs and 74 RBIs in 152 games last season. He recorded at least 17 homers in each of his six full seasons with the Angels.
In 966 career games, Calhoun has a .249 average with 140 home runs and 451 RBIs.