Early in his Major League career the California Angels selected Edmonds in the seventh round of the draft. Edmonds was traded from Anaheim to St. Louis for second baseman Adam Kennedy and pitcher Kent Bottenfield shortly before the beginning of the season. His fielding ability has earned him recognition from Major League coaches and managers, who voted him a Rawlings Gold Glove winner eight times in nine seasons from to .
Throughout his career, Edmonds has played first base in stretches, usually as a result of injury to a starting first basemen, but sometimes simply to provide rest to regular position players, or give another outfielder playing time. With Albert Pujols suffering an oblique injury in June of the season, Edmonds made six starts at first.
Edmonds has hit 30 or more home runs in five seasons, while maintaining a .285 career batting average, and has knocked in over 1,140 runs in his career. He has also received eight Gold Glove Awards in his career at center field, most of them coming as a member of the St. Louis Cardinals.
Two of Edmonds' most spectacular defensive plays came while on the Cardinals and the Angels. In June , while playing center field for the Anaheim Angels, Edmonds ran straight back towards the center field wall of Kauffman Stadium in Kansas City, and dove outstretched for a fly ball over his head, making the catch on the warning track. His other memorable catch came when on the St. Louis Cardinals on July 16, , while covering center field against Reds batter Jason LaRue. LaRue hit a deep shot to center field that surely would have been enough to be a home run. On a dead run, Edmonds scaled the wall, reached his entire right arm over the fence, and caught the ball.
A defining moment of Edmonds' career came in the 2004 National League Championship Series, in which Edmonds hit an extra-inning home run to win Game 6. In Game 7, Edmonds made a spectacular defensive play in center, helping the Cardinals win the pennant. On Mother's Day, May 14, 2006, Edmonds was one of more than 50 hitters who brandished a pink bat to benefit the Breast Cancer Foundation In 2006, Edmonds helped the St. Louis Cardinals win their first World Series title since 1982 while contributing 4 RBI.
Edmonds was on the cover of MLB Slugfest 2004.
On December 15, , he was traded to the San Diego Padres for David Freese. As part of the deal, the Cardinals also agreed to pay part of Edmonds' salary. Edmonds' 241 home runs with the Cardinals are the fourth-most in franchise history.
On May 14, 2008, the Chicago Cubs, in need of a left-handed bat to platoon in center with Reed Johnson, signed Edmonds to a one-year contract of which the Cubs were only responsible for the league minimum. He started the next day against his former team, the Padres, and went 1 for 4. Edmonds was not well received initially by the fans at the Friendly Confines, but after joining the Cubs, his defense improved and he hit over .300 with 8 home runs in the first six weeks with the Northsiders. On June 21, 2008, Edmonds hit two home runs in the fourth inning against the Chicago White Sox, becoming only the third Cubs player, (Sammy Sosa and Mark Bellhorn) to hit two home runs in the same inning. He also has two other multi-homer games as a Cub: one on July 31, 2008 against the Milwaukee Brewers and one on August 8, 2008 against his former team, the Saint Louis Cardinals.