PHOENIX -- Brad Halsey battled all spring to get the No. 5 spot in the Arizona Diamondbacks' rotation. In his first start, he was calm, poised and always in command.
The 24-year-old left-hander struck out a career-best seven in six-plus innings on Monday night to lead the Diamondbacks to a 2-0 victory over the Colorado Rockies, who lost their fifth in a row and are off to the worst start in their 13-year history.
"I wouldn't necessarily say that I'm surprised," Halsey said. "I know what I'm capable of. You're going to have good games and you're going to have bad games, but I know when I'm right that I can be very effective."
Halsey allowed five hits, walked one and hit a batter in front of 18,742, the smallest crowd for an Arizona home game in the franchise's eight seasons.
"I'm always impressed by his composure," Diamondbacks manager Bob Melvin said. "He always looks like nothing's going to bother him."
Brian Bruney, Mike Koplove and Brandon Lyon completed the shutout. It was Lyon's third save in four chances.
Colorado's 1-5 start is its worst ever, as is its 0-4 road record.
Halsey (1-0), who came to Arizona in the trade for Randy Johnson, never allowed a runner to reach third base and threw first-pitch strikes to 20 of the 22 batters he faced in the longest outing of his young big league career. He had never gone more than 5 2/3 innings.
"He had a very effective outing," Colorado manager Clint Hurdle said, "Good fastball command, an exceptional slider tonight, with an occasional change-up just to make his fastball stay sharp. We saw him in spring training. You see him throw on the side and guys are like 'Wow, I really think we can get him.' Then they come back and he had a little bit more than they thought. Tonight, again, he's got a little bit more than we think."
Halsey was making his eighth major-league start. He had seven for the New York Yankees last season.
Jason Jennings (0-2) gave up two runs in the first on Troy Glaus' RBI double and Shawn Green's run-scoring single, then retired the next 10 batters.
"You never win a game in the first inning, but sometimes you can lose it," Hurdle said. "Sometimes it's a hard thing to swallow."
Jennings allowed two runs and three hits in six innings, just one hit after the first. Jennings struck out five and walked four, one intentionally, before being lifted for a pinch hitter in the seventh.
"Really in the first inning I made one bad pitch, the pitch to Green," Jennings said. "The pitch to Glaus wasn't a bad pitch. I don't really know how he kept it fair."
It was the best outing by the Rockies' pitchers in the young season.
"At this point, we'd just really like to have a win," Jennings said. "We've lost four in a row. We pitched well as a staff, but we're here to win games, not just pitch well."
Todd Helton was 3-for-3 for Colorado, all singles -- two of them bloopers.
Byung-Hyun Kim received only scattered applause when he relieved Jennings in his first appearance in Arizona since he left the Diamondbacks two seasons ago.
Melvin lifted Halsey after Michael Restovich led off the seventh with a single. Bruney came on to strike out Jeff Baker and J.D. Closser, then got pinch-hitter Luis Gonzalez to ground out to end the inning.
The Diamondbacks gave Halsey a 2-0 lead when Quinton McCracken walked, then scored from first on Glaus' two-out double that hit the left-field foul line and bounced into the corner. Green followed with an RBI single.
Jennings walked the first two batters, on four pitches, in the fifth, but Halsey struck out trying to bunt, then Craig Counsell hit into a double play.
Asked whether he had penciled in Halsey for another start Sunday, Melvin said with a laugh, "I've got him penned in now. I've got him Sharpied in."
The previous smallest crowd was 21,710 against Milwaukee on Sept. 29. ... Arizona placed RHP Oscar Villarreal on the 15-day disabled list with a right rotator cuff strain. RHP Lance Cormier was recalled from Triple-A Tucson. ... CF Jose Cruz Jr. was out of the Diamondbacks starting lineup for the second straight day with tightness in his lower back. ... Colorado entered the game with a 9.86 ERA, worst in the majors.