Terms of the deal for the two-time all-star weren't released, but the Baltimore Sun reported it was for $8 million.
Cruz had turned down a $14.1 million qualifying offer from his former team, the Texas Rangers, during the off-season.
The 33-year-old has hit at least 20 home runs in each of the last five seasons, including 27 homers to go along with 76 RBI in just 109 games for the Rangers last year -- he missed 50 games while serving a suspension for his involvement in the Biogenesis performance-enhancing drug scandal.
He was named the MVP of the Rangers' 2011 American League Championship Series win over Detroit.
Over 804 games in nine seasons, Cruz boasts a .268 average with 157 homers and 489 RBI.
'How to Train Your Dragon 2' releases 5-minute clip
Lytro unveils camera that can focus a photo after shooting it