Anderson made his Major League debut with the
California Angels in 1990. Over the next eight seasons, he accumulated at least 600 at bats every year, breaking 90
RBIs and 20
home runs five times while compiling a
batting average near .300.
While he was hitting home runs in 2000, he wasn't taking many walks. He is one of only seven players who have concluded a 30-homer season with more homers than walks (35 HR, 24 BB).
In
2002, when the Angels won their first
World Series championship, Garret finished fourth in the
MVP voting after compiling a .306 average with 29 home runs and 123 runs batted in, Anderson also scored a career-high 93 runs. Anderson had a similarly strong performance in
2003, he became an American League all star. That all star weekend, he stole the show by becoming the
Home Run Derby Champion and voted the most valuable player in the
All Star Game. He was the first player to win both the Derby and All-Star MVP since
Cal Ripken, Jr. in 1991.
On April 13, 2004, Anderson agreed a $48 million, four-year contract extension through 2008. The deal includes a team option for 2009 with a $3 million buyout.
Anderson began experiencing chronic ailments in
2004 that limited his playing time and production, including an
arthritic condition and
plantar fasciitis in his feet. In
2005, he began to see more regular time as a
designated hitter to ease the wear and tear off of his body. Anderson's production in
2006 was roughly on par with his 2005 production, with both seasons seeing him hit 17 home runs and drive in at least 85 runs.
On August 21, 2007, he drove in a team-record 10 runs, including a grand slam and a three-run homer, in the Los Angeles Angels' 18-9 win over the New York Yankees. Anderson became the 13th player in Major League history to have 10 RBIs in a game. Anderson now holds the team record for grand slams with eight and RBIs in a game with ten. On September 7, 2007, Anderson drove in a run on an
RBI single, to set a franchise record for most consecutive games with an RBI with 11. The streak lasted for 12 games, during which time he drove in 22 runs.
On October 28, 2008, the Angels announced they would decline their $14 million option on Anderson's contract and exercised a $3 million buyout.
On February 24,
2009, Anderson agreed to a one-year deal with the
Atlanta Braves. April 5, 2009, in the Braves first game of the season, Anderson collected the 2,369th hit of his career, and the first he had with any franchise besides the Angels. On July 2, 2009, Anderson hit his first career pinch-hit home run of his till-then 14 season career. Anderson became the 89th player to reach 2,500 base hits.
Anderson was designated for assignment August 8, 2010 after hitting only .181 in 155 at-bats and granted his release on August 10.