That same year he was drafted in the fourth round by the Pittsburgh Pirates. His power numbers fell off in the minor leagues, but he still continued to hit well batting .325 at A ball Lynchburg.
In the summer of 2004 he came over to the New York Mets organization in the Kris Benson deal. He made brief stops at AA Binghamton & AAA Norfolk early that summer. He got a break when a roster spot opened up, making his MLB debut with the Mets, on August 20th at San Francisco. He came into the game as a pinch hitter, going 0-1.
The next day he came into the game in the 7th inning & got his first career hit in the Mets 11-7 extra inning win. On August 22nd he made his first start at second base & got two hits in the 3-1 Mets loss. At the end of August, he hit HRs in back to back games, at Shea Stadium in losses to the Los Angeles Dodgers.
Keppinger saw a lot of playing time in September, & drove in seven runs from the 10th through the 18th. On the year he would bat .284 with three HRs & nine RBIs playing in 33 games at second base.
He was back at AAA Norfolk in 2005 batting .331 in 64 games and was set to replace Kazo Matsui when he went down with injury. Unfortunately Keppinger himself, fractured his knee cap & wasn’t able to play. Instead he missed out the rest of the season.
Things may have been different for him & the Mets had he been able to succeed Matsui if he had not been injured.
The following season he was batting .300 again at AAA Norfolk but got traded to the Kansas City Royals for Ruben Gotay. He played in 22 games for the Royals that year, batting .267. On September 9th, he hit a three run pinch hit HR at Boston's Fenway Park in a 10-4 Royals win, it was his first hit in two years.
He eventually got traded to the Cincinnati Reds for 2007 & would hit .333 in 67 games that season. The next year he became Dusty Baker & the Reds regular short stop where he hit .266.
In the off season he was traded to the Houston Astros where he became their regular second baseman for 2010 hitting .288 with 34 doubles 6 HRs & 59 RBIs.
Late in 2011 he was traded to the San Francisco Giants for Henry Sosa & Jason Stoffel. In 2012 he signed with the Tampa Rays, where he hit .325 in 115 games (385 at bats) seeing action filling in for the injured Carlos Pena & Ben Zobrist.
He was granted free agency & was perused by the AL New York club when they knew Alex Rodriguez was going to be out most of the season. He declined their offers & signed with the Chicago White Sox for 2013.
In 2013 Keppinger was the White Sox ultimate utility man playing at second base (45 games) third base (41 games) first base (20 games) & DH (16 games). Overall he hit .253 with 4 HRs & 40 RBIs.
He hit nine HRs 15 doubles & 40 RBIs. Keppinger played at first, second, third base & designated hitter.
In 2014 he was designated for assignment & was released, he is currently a free agent.
In his eight year career he played 701 games, batting .288 with 41 HRs 126 doubles 255 RBIs & a .337 on base %.