PHOENIX -- The Arizona Diamondbacks gave Dan Haren one run in his first three starts.
They doubled that production Wednesday, and that was all the hard-luck pitcher needed in a 2-0 victory over the Colorado Rockies.
Haren (1-3) pitched seven sharp innings for his first win this season, and Ryan Roberts' pinch-hit single broke a scoreless tie in the seventh.
"You don't want to go through the whole month of April and not win a game," said Haren, whose ERA dropped to 1.38. "I was digging myself quite a hole, being 0-3. But I've been proud of the way I've been keeping the team in the game, and that's really my job is to go out there and give the team a chance every time."
Haren and Colorado's Jorge De La Rosa matched shutout innings until the seventh, when Chris Young singled off De La Rosa, went to second on Chris Snyder's single and scored on Roberts' single.
It was the second major league RBI for the 28-year-old Roberts, playing in his 26th career game. His first came on Aug. 3, 2006, when he played for Toronto and homered off Cory Lidle of the New York Yankees.
"It's fortunate that you get called on when you get called on, and the key is just to be ready," said Roberts, who had five at-bats in the first 14 games.
Arizona went up 2-0 when reliever Jason Grilli issued a bases-loaded walk to Conor Jackson on a 3-2 pitch with two outs.
Roberts' hit made a winner of Haren, who allowed six hits and two walks, striking out nine.
The start looked a lot like Haren's first three, except for the result.
"It was nice to be able to reward him with the win after pitching in conditions where every pitch could have an effect on the outcome of the game," Arizona manager Bob Melvin said. "It's tough to pitch like that, especially against a lineup like that."
Tony Pena and Chad Qualls finished the nine-hit shutout, with Qualls working out of a two-on, two-out jam in the ninth to earn his fourth save in five chances.
Haren entered 0-3 with a 1.89 ERA. Since 1983, only one pitcher has lost his first three starts with a sub-2.00 ERA -- Juan Cruz, who went 0-3 with a 1.80 ERA for the Chicago Cubs in 2002, according to the Elias Sports Bureau.
Haren allowed four runs in his first three starts. That was three more than the Diamondbacks scored in that span.
The Diamondbacks were at it again with Chase Field's roof closed on a 92-degree afternoon in the desert. They produced two hits through five innings against De La Rosa, who entered with a lifetime 5.52 ERA. One of the hits was a single to center by Haren.
Arizona wasted a chance in the sixth, when Jackson walked and stole second with one out. Mark Reynolds singled to left, but third base coach Chip Hale held Jackson at third.
The next batter, Chad Tracy, grounded into an inning-ending 4-6-3 double play.
But Haren kept the Rockies in check.
They put the leadoff man on in each of the first four innings and moved runners into scoring position in each of the first five. Haren worked out of trouble every time.
"He manages the game well with runners in scoring position," Colorado manager Clint Hurdle said. "When you have shots with him, you've got to cash in. We weren't able to do that."
De La Rosa (0-2) went 6 2/3 innings, allowing two runs and six hits. He walked four and struck out six.
As the game wore on, De La Rosa knew he'd probably have little margin for error against Haren.
"It's tough, but we faced a very good pitcher over there. He's one of the best pitchers in the big leagues," De La Rosa said. "You have to give him some credit, too. I just tried to pitch a good game today. I made good pitches and [got] quick outs."
Ryan Spilborghs matched a career high with four hits for the Rockies, who have lost eight of 10.
The Diamondbacks won a series for the first time in five tries. On Friday night they'll try to win back-to-back games for the first time.
Arizona RHP Tom Gordon, on the 15-day DL with a right elbow strain, has been making rehab appearances in the minors and might be close to returning. ... After opening the season with 11 of their first 14 games on the road -- including two trips to Chase Field -- the Rockies open a six-game homestand against the Los Angeles Dodgers on Friday. Colorado dropped two of three to Philadelphia in its only home series.