The 30-year-old outfielder hit .246 with 12 homers and 45 RBI in 89 games for the Angels last season, his fourth with the team. All 12 of his homers came in a span of 58 games after July 2. He also was the Angels' top pinch hitter with five hits in 14 at-bats and five RBI, including two game-winners.
Rivera figures to play the outfield and serve as a designated hitter. The Angels are in negotiations to re-sign free-agent first baseman Mark Teixeira, and they might pursue free-agent outfielder Manny Ramirez should Teixeira sign elsewhere.
Rivera has a .282 batting average with 52 homers and 197 RBI in 333 games in his four years with the Angels. In his career, Rivera is hitting .284 with 72 homers and 278 RBI in 555 games.
He gets $3.25 million next season, $4.25 million in 2010 and $5.25 million in 2011.
Originally signed by the Yankees on April 5, 1996, Rivera played with New York from 2001-03 and the Montreal Expos in 2004, then was traded to the Angels with infielder Maicer Izturis for outfielder Jose Guillen on Nov. 10, 2004.