Hill was selected by the Kansas City Royals in the 5th round, 139th overall of the 1996 Major League Baseball Draft. He began his professional career in 2001, playing for the Single-A Burlington Royals and the advanced Single-A Wilmington Blue Rocks. He played the majority of the 2002 season with the Double-A Wichita Wranglers, and received a call to the majors late in 2002. He made his major league debut on September 7, 2002, and played in 10 total games for the Royals that year, pitching to a 3.86 ERA over 9.1 innings pitched. In 2003, Hill pitched a scoreless inning for the Royals before being sent to the minors where he would play for the Double-A Wranglers and the Triple-A Omaha Royals.
On July 28, 2003, Hill was traded to the New York Mets in exchange for Graeme Lloyd. He would finish 2003 playing for the Double-A Binghamton Mets and elected free agency on December 21, 2003. He resigned with the Mets on January 6, 2004 and would spend the entire 2004 season in Binghamton, pitching to a 2.23 ERA over 25 games for the team. In 2005, Hill made appearances with Binghamton, the Triple-A Norfolk Tides and the advanced Single-A St. Lucie Mets. He elected free agency on October 15, 2005. On January 16, 2006, Hill signed a minor league deal to return to the Mets organization, but was released before the season began on March 30.
After his release from the Mets, Hill signed with the Newark Bears of the Atlantic League of Professional Baseball. Hill played in 56 games for Newark, carrying a 3.62 ERA over 64.2 innings pitched. He became a free agent after the season.
On January 19, 2007, Hill signed a minor league contract with the Los Angeles Dodgers organization. He was released before the start of the season on March 24, 2007.
After his release from the Dodgers organization, Hill signed with the Macoto Cobras of the Chinese Professional Baseball League. He would play in 21 games and pitch to a 5.08 ERA for the club. He became a free agent after the conclusion of the season.
In 2008, Hill signed with the Acereros de Monclova of the Mexican League. He played in 57 games for Monclova, pitching to a 2.64 ERA over 64.2 innings. He became a free agent after the season.
On January 22, 2009, Hill signed a minor league contract with the Los Angeles Angels organization. He spent the season with the Triple-A Salt Lake Bees. In 2009, Hill made the minor league All-Star Game. On November 9, 2009, he elected free agency. On March 24, 2010, Hill resigned with the Angels organization. He began the season with the Salt Lake Bees, but announced his retirement on May 20, 2010.
In 2011, Hill came out of retirement to play for the Long Island Ducks of the Atlantic League of Professional Baseball. In 48 games for Long Island, Hill pitched to a 2.91 ERA over 68 innings. In 2012, Hill played in 63 games, and pitched to a 3.49 ERA over 67 innings. His last professional baseball appearance was in 2012 for Long Island.