In 2006, he started the season in Triple-A with the Iowa Cubs, but was called up on May 4 for a start against the Arizona Diamondbacks. He gained attention in Chicago later in the month during the cross-town classic with the Chicago White Sox. On May 20, Hill lost to the White Sox 7–0, and was the starter in the game that saw A. J. Pierzynski run over Cubs catcher Michael Barrett at the plate in a huge collision. Hill was sent back to Triple-A Iowa the next day. He made 15 starts for Iowa and was 7–1 with a 1.98 ERA and 135 strikeouts. He was selected to the mid-season Pacific Coast League all-star game, where he was the top star, and he was later selected as a postseason all-star and a Baseball America Triple-A All-Star.