Harris was the Cincinnati Reds' fifth-round pick in the 1983 amateur draft. He made his major league debut with the Reds in. He batted.372 in 16 games with Cincinnati in 1988. He played 61 games with the Reds in ; his batting average that year with the Reds was.223, and he was traded to the Los Angeles Dodgers along with Kal Daniels for Tim Leary and Mariano Duncan. Harris continued playing with the Dodgers through the season, playing in at least 107 games each season. 1993 was also the year when he started doing more pinch hitting. He never hit more than 3 home runs in any given year until, but while with the Dodgers he did have several good seasons at the plate; he batted.304 in and.287 in. He became a free agent after the 1993 season, at which point he re-signed with Cincinnati, where he continued to play until he was traded to the New York Mets in. Harris pitched once for the Reds, on June 1, 1998. It was the first time a Reds position player had been used as a pitcher in ten years. In 1998, he batted.295 with the Reds in 57 games, but after joining the Mets, he batted only.232 and did not re-sign with the Mets the following year, instead opting to sign with the Colorado Rockies. He hit well with Colorado, but was traded to the Arizona Diamondbacks for minor leaguer Belvani Martinez after 91 games there. He went 11-for-29 in 19 games with the Diamondbacks; he remained in Arizona for the first two months of the season, when he was traded back to the Mets for pitcher Bill Pulsipher. He finished the 2000 season with the Mets and also spent the season there. In 2001, he broke MLB's career pinch hits record, previously held by Manny Mota. Note, the 150-mark has also been surpassed by Mark Sweeney. The season proved successful for Harris. He batted.305 in 122 games with the Milwaukee Brewers at the age of 37, showing that he would still be able to play for several more years. He started the season with the Chicago Cubs, with whom he played 75 games before being released and signing with the Florida Marlins. He was on the Marlins' championship team in the 2003 World Series. Although he batted just.193 in the 2003 campaign, he re-signed for one year with the Marlins in. Although he had said that he would retire after the 2004 season, he re-signed for another year with the Marlins in and said that he would return for the season. However, the Marlins released him during spring training in 2006.
Coaching career
After his release, he became the infield coordinator for the Washington Nationals, and eventually, the hitting coach. He was fired by the Nationals on September 28,, after less than two seasons on the job. On October 24, 2008, Harris became the Los Angeles Dodgers minor leaguehitting instructor at Camelback Ranch, the team's Spring Training facility. In 2011, he was the hitting coach for the Great Lakes Loons. After serving as a coach for the Gulf Coast League Marlins, he became the assistant hitting coach of the Miami Marlins and later became the third base coach of the Miami Marlins. He was let go by the Marlins after the 2016 season. For the 2017 season, Harris returned to the Reds as a coach for their Arizona league affiliate.