Beltran, who played for the New York Mets from 2005-11, is expected to play right field for the Yankees and could also fill the role of designated hitter.
The move came on the same day the Yankees reportedly lost all-star second baseman Robinson Cano to the Seattle Mariners in free agency.
Beltran played the last two seasons with the St. Louis Cardinals. He batted .296 in 2013 with 24 homers and 84 games.
He has been in the major leagues for 16 years with a career average of 258. In addition to the Mets and Cardinals, Beltran has played for Kansas City and Houston.