Chicago Cubs Harris began his professional career in 2001 with the Single-A
Lansing Lugnuts of the
Midwest League, batting .274 with four home runs and 22 RBI in 32 games. In 2002, with the Single-A
Daytona Cubs, he hit .329 in with 13 homers and 54 RBI in 110 games. He began the season with the Triple-A
Iowa Cubs in the
Pacific Coast League. He hit .311 with eight home runs and 26 RBI in 56 games, leading to his first Major League call-up with the Cubs on July 3. Harris made his major-league debut on July 6, 2004, as the starting
third baseman against the
Milwaukee Brewers. In the first inning, he committed an error that led to four unearned runs, but recovered by posting his first Major League hit with an RBI double off
Víctor Santos in the third inning. In three games with the Cubs, he was 2-for-9 (.222) with an RBI.
Montreal Expos/Washington Nationals On July 31, 2004, Harris was traded to the
Montreal Expos as part of an eight-player, four-team trade that sent brought
Nomar Garciaparra and
Matt Murton to Chicago,
Doug Mientkiewicz and
Orlando Cabrera to the
Boston Red Sox, minor leaguer Justin Jones to the
Minnesota Twins and Harris,
Francis Beltrán and
Alex Gonzalez to Montreal. Harris appeared in 20 games for Montréal, batting .160 with one
home run and two
RBI in 50
at-bats. He also played in 35 games for the Triple-A
Edmonton Trappers, batting .285 with six home runs and 24 RBI. He played in 43 games with the Triple-A
Louisville Bats in the
International League, hitting .324 with five home runs and 28 RBI. and spent the majority of the season as the Devil Rays' starting shortstop. In 137 games, he hit .286 with 12 home runs and 59 RBI.
Minnesota Twins On November 28, 2007, the Rays traded Harris (along with
Jason Pridie and
Delmon Young) to the
Minnesota Twins for
Matt Garza,
Jason Bartlett, and
Eduardo Morlan. Harris saw considerable playing time with the Twins in 2008, 2009, and 2010 as a
utility player. He played
shortstop,
second base and
third base and even a few games at
first base. Harris also saw his first post-season action when the Twins faced the
New York Yankees in the
2009 American League Division Series. On October 11, 2009, Harris was the last Major League batter in
Metrodome history as the Yankees defeated the Twins 4–1 in Game 3, eliminating the Twins from the playoffs. Harris was the front-runner to start at third base for the Twins in 2010, but
Nick Punto got the nod on Opening Day. Punto was later replaced by rookie
Danny Valencia and on June 24, Harris was outrighted to
Triple-A Rochester after a 5–0 loss to the
Milwaukee Brewers. In three seasons with the Twins, Harris hit .251 with 14 home runs and 90 RBI in 296 games. He spent the entire season in Triple-A with the
Norfolk Tides and hit .225 with 10 homers and 50 RBI in 136 games. He played for the Triple-A
Colorado Springs Sky Sox and hit .317 with nine homers and 63 RBI in 106 games. He made the Angels' Opening Day roster as a utility player, and hit .206 with four home runs and 9 RBI in 44 games for the Angels, while playing shortstop, second base, third base, first base and left field.
New York Yankees Harris signed a minor league deal with the
New York Yankees on July 26, 2013. He played in 22 games for the Triple-A
Scranton/Wilkes-Barre RailRiders, where he hit .233 with a home run and 4 RBI. With the
Round Rock Express, he appeared in 12 games and batted .244 with two home runs and 5 RBI. He played in six games for the Triple-A
Albuquerque Isotopes and had five hits in 15 at-bats (.333) with an RBI before he was released on April 12, 2014. He was released on June 29, 2015. ==Post-playing career==