Eldred was selected by the Pittsburgh Pirates in the 6th round of the 2002 Major League Baseball Draft. In 2004, the Pirates named him their minor-league player of the year after he hit.301 with 38 home runs and 137 RBIs for the Single-A Lynchburg Hillcats and the Double-A Altoona Curve. He was promoted to the Pirates' major league roster on July 21, 2005, after he hit.297 with 28 home runs and 75 RBIs for the Curve and the Indianapolis Indians. With the Pirates, he hit.221 with 12 home runs in 55 games. After the season was over, the Pirates sent him to play in the Arizona Fall League. Eldred got injured in the first week of the 2006 season, and was unable to play for the rest of the year. After a strong Spring Training in 2007, in which he began playing the outfield to increase his versatility, he was added to the Pirates' opening day roster. However, he was demoted to Indianapolis on May 20. He was briefly recalled in mid-June, but spent only one day on the roster before returning to the minor leagues.
On January 5, 2008, he signed a minor league deal with the Chicago White Sox. For the AAA Charlotte Knights, he hit 38 home runs and 100 RBIs, leading the International League in both categories. He became a free agent at the end of the season.
In November 2008, he signed with the Washington Nationals. Playing for the AAA Syracuse Chiefs, he hit.269,.344 on-base percentage, 17 home runs and 59 RBIs.
Colorado Rockies
On March 2, 2010, he signed a minor league contract with the Colorado Rockies. He was called up on July 7, 2010 when Todd Helton went on the DL.
On January 14, 2011, Eldred signed a minor league contract with the San Francisco Giants with an invite to spring training.
Detroit Tigers
The Detroit Tigers signed him to a minor league contract on January 21, 2012. He was called up to the Tigers on April 26 after longtime Tiger Brandon Inge was released. At the time of his call-up, Eldred was batting.388 with 13 homers in 20 games for the Toledo Mud Hens. Eldred would triple in a run in the second inning of his first game with the Tigers. After playing in five games, Eldred was designated for assignment. He was released by the Tigers on June 19, 2012.
Hiroshima Toyo Carp
He signed a contract with the Hiroshima Toyo Carp of NPB. In 2014, his second season in Japan with the Carp, Eldred hit 37 home runs. In 2016, he was limited to 95 games due to injury, but still batted.294 with 21 home runs, helping his team to a playoff spot. Eldred then went on to hit a home run in each of the first three games of the 2016 Japan Series, with the Hokkaido Nippon Ham Fighters ultimately winning the championship, four games to two.