In 2003, Villarreal earned a spot on the D'backs roster. He made his debut on March 31, and led all MLB rookies in games pitched (86) and ERA (2.57). His 86 games pitched also set a new rookie record. He finished second in the league in games pitched to Paul Quantrill, and also tied Brandon Webb's Diamondbacks record for wins by a rookie. However, on June 5, Villarreal suffered an injury when a line drive off the bat of Frank Thomas hit him in the shin. He left the game and was out for 5 days. He returned to the team on June 10 against the Kansas City Royals. On June 23, Villarreal was hurt again. A line drive hit by Craig Biggio struck him in the chest, but he did not leave the game. Villarreal came back to pitch 15.1 scoreless innings in July, and on September 10, he broke the rookie record for games pitched when he appeared in his 79th game. During the season, right-handed hitters only hit .204 off Villarreal.