Kim began his MLB career with the Boston Red Sox in 2001 and was traded to the Montreal Expos the next season. In his career, Kim has pitched in 110 games, starting 37, recording 13 wins against 13 losses. He was the starting pitcher of the Montreal Expos at the organization's final game at Montreal on September 29, 2004, lasting just over two innings.
He was acquired by the Cincinnati Reds on September 5, 2006 from the Colorado Rockies in exchange for future considerations. Kim was released from the Reds after the 2006 season. After playing one season in minor league, he signed with the Doosan Bears in the Korea Baseball Organization at the end of 2007.