"Could not be happier to be in the Dbacks family! Truly Blessed!" Ross posted on his Twitter account.
Ross, 31, is coming off a season in which he batted .267 with 22 homers and 81 RBIs in 130 games for the Boston Red Sox. The move marks a return to the NL West for Ross, who was a postseason star for the Giants in 2010. Ross is a career .262 hitter with 122 homers and 452 RBIs in 887 games.
As for the Red Sox, Ross told The Boston Globe: "I don't know what happened but we could never agree on terms. They thought I'd come back no matter what because they thought I loved playing there. And I did. Who wouldn't love playing at Fenway Park? I just wanted a fair deal. I told them what I wanted. I wasn't trying to break the bank. They weren't willing to do it."
A 10-year veteran, Ross will join a crowded Diamondbacks outfield that already includes Justin Upton, Jason Kubel and Adam Eaton. The Diamondbacks are now working to trade Kubel, according to sources. Upton also has been the subject of trade rumors this offseason.
Information from ESPN The Magazine's Buster Olney, ESPN's Jim Bowden and The Associated Press was used in this report.
Now it's your turn: Should the Sox have tried harder to bring Ross back? Vote in the poll and share your thoughts in the comments section.
The apparent sticking point in their negotiations was Ross' desire for a three-year contract. The Sox didn't want to go beyond two years, and eventually signed outfielders Jonny Gomes (2 years, $10 million) and Shane Victorino (3 years, $39 million), a sign that Ross' days in Boston might be over -- which is indeed the case with Saturday's news.
Should the Sox have given Ross a third year, or did they make the right move by holding firm and then looking elsewhere for outfield help?