The deal runs through 2012 and includes a club option for 2013.
Last year, Reynolds hit 44 home runs and had 102 RBIs, both career highs. His home run total is the second highest in Diamondbacks history behind Luis Gonzalez (57 in 2001), and he will be counted on to continue to power Arizona's lineup.
Reynolds improved his batting average from .239 in 2008 to .260 in 2009. He also struck out 223 times last season, breaking the major league record of 204 he set the previous year.