"Peacock did a great job," manager Bo Porter said. "Six innings, strong, he finally started to use the top of the strike zone and did a good job with keeping us right there."
Peacock's six innings were the entire time the Astros were really within striking distance. Nearly the entire time he was in the game, Houston trailed by only one run or was tied with Arizona.
The only mistake Peacock made came early in the game. He left a pitch up to the D-backs' slugging first baseman, Paul Goldschmidt.
Goldschmidt crushed the pitch -- a 92-mph fastball in the middle of the strike zone -- the opposite way. It landed in the Chase Field pool in right-center field.
"He's obviously one of the better hitters in the game, and I just tried to challenge him right there," Peacock said. "He just did what he was supposed to do with that pitch. It was up, and I made a mistake, but you know, get him next time."
Peacock settled down after the Goldschmidt homer. He didn't get a decision despite giving up only three hits.
"I felt great, just locating and everything, throwing my offspeed for strikes," Peacock said. "Pounded the zone, that's what I wanted to do. It worked out."
Unfortunately for the Astros, D-backs starter Bronson Arroyo (6-4) made very few mistakes.
After two substandard outings, Arroyo came back and pitched a gem on Tuesday. He went seven innings, giving up only one run on six hits while striking out five.
The Astros had no answer for the veteran's offspeed pitches, as he threw first-pitch curveballs for strikes several times.
"You look at the speed difference," Porter said. "He was everywhere from 65 to 88 [mph], 89, using soft stuff to keep us off balance."
Arroyo credited part of his success to the Astros' inexperience at the plate.
"These guys are really aggressive," Arroyo said. "They're young, so I don't think they would change their approach a whole lot. So they left me with a little bit of room to stay to the outer half with a lot of these lefties and get a lot of ground balls.
"You face a more experienced team like the Dodgers that are coming up, and sometimes you can't do that to these types of hitters. They see some certain patterns, and if they don't think you've got enough in the tank to beat them on the inner half, then some of your soft stuff doesn't become so effective."
Although Peacock kept his team in the game, the bullpen and defense spoiled the Astros' shot at a victory the inning after he left.
Josh Fields replaced Peacock to start the seventh, and D-backs third baseman Martin Prado greeted him with an 11-pitch at-bat that ended with a triple to right-center field.
Second baseman Aaron Hill drove home Prado in with a sacrifice fly, giving the D-backs a 2-1 lead, but it also cleared the bases for Fields and gave him a shot to work out of the inning with limited damage.
But with two outs, shortstop Jonathan Villar committed an error on a ground ball from Arizona center fielder Ender Inciarte, which proved costly in a matter of minutes.
The next batter, pinch hitter Cody Ross, lifted a double to right-center field. Center fielder Dexter Fowler bobbled the ball in the outfield, allowing Inciarte to score the third run.
"Fields came in and obviously, defensively, we didn't help ourselves," Porter said. "I felt like he made quality pitches, and we're able to make a few of those defensive plays, obviously he fares better and we fare better."
Arizona made it 4-1 in the eighth off Kyle Farnsworth when Goldschmidt led off with a double, stole third and came home on Hill's two-out double.
Adam Lichtenstein is an associate reporter for MLB.com.