His deal includes a $7.5 million mutual option for 2011 with a $1.5 million buyout. LaRoche receives the buyout if either side declines the option.
The 30-year-old hit .277 for Atlanta, Boston and Pittsburgh last season with 25 homers and 83 RBIs. He has a .274 career average in six seasons.
"He really helps our lineup," general manager Josh Byrnes said. "He's really a consistent, middle of the order threat."
To make room for LaRoche on the 40-man roster, Arizona designated outfielder Eric Byrnes for assignment. Eric Byrnes is owed $11 million for the final year of a three-year, $30 million contract.
Adding LaRoche allows Arizona to shift Conor Jackson to his more natural outfield position. Jackson agreed Friday to a $3.1 million, one-year contract that avoided arbitration.
The 27-year-old Jackson hit .182 with four doubles, one home run and 14 RBIs over 30 games in an ailment-shortened season last year. He was sidelined in early May with an illness that was later diagnosed as valley fever and ultimately ended his season.
The Diamondbacks also avoided arbitration with catcher Miguel Montero by signing him to a one-year deal.
LaRoche said that, given the weakness of the free agent market this season, he chose to go somewhere he could sign a one-year deal rather than sign "a mediocre two-year contract."
He had been close to a two-year deal with the San Francisco Giants reportedly worth $14 million.
"They were a team that we were getting pretty serious with on a multiyear deal," LaRoche said on a conference call. "Not to bash them at all, I just had to weigh it. Was it worth going there a couple of years or kind of riding it out and see what the options are" after this season.
The city and the ballpark were among the lures, he said.
"I love it," he said of Chase Field. "Not just the fact that the ball flies, I like the fact that it's a dome. I like the climate here."
He said he had better financial offers early in the free-agent period.
"It wasn't a great free-agent market the last couple of years," he said. "We did have some offers better than this that came early and they just happened to be in places I wasn't as excited about playing in."
"There's no doubt that it's a dangerous lineup," he said, "and I hope that joining it and potentially being in the middle of it will hopefully protect these guys and get some protection as well."
The signing will allow young first baseman Brandon Allen to get another season at Triple-A Reno.
With Gerardo Parra projected as Arizona's fourth outfielder, there was no place for Byrnes, who had been plagued by injuries and had hit poorly since batting .286 with 21 homers, 30 doubles and 83 RBIs in 2007.
"I didn't see a great opportunity for Eric Byrnes to make our club or play a primary role on our club," Josh Byrnes said.