PHOENIX -- Trevor Cahill has been struggling the opening month of the season. He gave the Diamondbacks just enough Thursday night to pull out a victory.
Cahill gave up an unearned run in five innings to earn his first victory of the season in Arizona's 3-2 win over the Colorado Rockies on Thursday night.
He had been winless in his first four starts, going 0-3 with a no-decision. Cahill got behind batters and threw 105 pitches. He benefited from Paul Goldschmidt's two-run homer in the fourth inning.
"I'm searching for command," Cahill said. "I'm getting behind in the count, and it's like I'm losing a feel for the sinker. It's not going where I want the pitch to go."
The victory was the Diamondbacks' seventh one-run victory in their 13 wins this season after J.J. Putz got three outs in the ninth for his fourth save.
"When your pitch count is up, it's tough to play behind that pitcher," Arizona manager Kirk Gibson said. "(On Thursday night), Cahill gave us just enough to get the bullpen."
Jorge De La Rosa (2-2) allowed three runs in six innings for Colorado.
"Jorge did his job," Rockies manager Walt Weiss said. "The story tonight was we just didn't get that big hit. Jorge gave us a chance to win again tonight. (Arizona) had some infield hits. At the same time, he got three double plays. He did his job."
The Diamondbacks scored first in the second inning. Goldschmidt reached base on an error and moved to second when Cody Ross singled. Goldschmidt then scored on a single to left by reserve catcher Wil Nieves. That put runners on first and second with no outs, but Josh Wilson grounded into a double play and Cliff Pennington flied to left.
The Rockies responded in the fourth.
With runners on second and third and two outs, Yorvit Torrealba hit a soft grounder to third that Martin Prado could not handle. The error enabled Michael Cuddyer to score, but the tie did not last long.
That's when Goldschmidt's home run put Arizona into the lead in the bottom half of the inning.
In the seventh, the Rockies pulled within one run. Troy Tulowitzki's two-out double to the base of the fence in right center scored Eric Young Jr., who had opened the inning with a double.
Prior to the game, the Rockies placed veteran first baseman Todd Helton on the 15-day DL with left forearm inflammation, retroactive to April 20. To replace the 39-year-old on the roster, the Rockies recalled infielder Ryan Wheeler from Triple-A Colorado Springs. Helton is eligible to come off the DL on May 5. ... Cahill's win was his first since Sept. 19, a 6-2 victory over San Diego. ... The fourth-inning error by Prado was his first of the season and only the sixth for the Diamondbacks in 22 games. Going into the game, Arizona led the majors in fielding with a .994 percentage. ... With two hits, Gerardo Parra equaled a career-high 10-game hitting streak.