PHOENIX -- Working the black worked out nicely for Bronson Arroyo.
Enticing Houston's aggressive hitters by throwing to the corners and out of the strike zone, Arroyo pitched seven strong innings to lift the Arizona Diamondbacks to a 4-1 win over the Astros on Tuesday.
''These guys are really aggressive and young, so I don't think they'd change their approach that much,'' Arroyo said. ''It allowed me to stay on the outer half and get a lot of groundballs.''
Arroyo (6-4) matched Houston starter Brad Peacock through seven innings before the Diamondbacks scored two runs off Josh Fields (1-4) in the seventh.
Hill hit a sacrifice fly in the inning and Cody Ross knocked him in with a double to right-center after an error by Astros shortstop Jonathan Villar. Hill added a run-scoring double in the eighth inning to put Arizona up 4-1.
Paul Goldschmidt also homered and Addison Reed worked a perfect ninth for his 16th save. Arizona has won six of eight after its latest rally-from-a-slow-start game.
''We've been pushing on, guys staying with their approach,'' Diamondbacks manager Kirk Gibson said. ''A lot of talking on the bench and we've made some adjustments in-game when we've had to.''
The Astros have been superb on the road over the past month, winning eight of their previous nine, including the series opener against Arizona Monday night.
Houston had no answer for Arroyo, though, managing seven hits -- three of those by Jon Singleton -- while going 1-for-6 with runners in scoring position.
''He was throwing the ball good,'' Peacock said. ''We've been doing a great job jumping on people, but he's one of the best starters in the game and we just couldn't get to him today.''
Arroyo has hit his stride since a spring-training back injury limited his effectiveness early in the season.
The right-hander won his last outing, against Colorado last Wednesday, and has pitched well against the Astros, entering Tuesday's start 9-1 with a 2.05 ERA his last 12 starts against them.
He labored through the first two innings, working around six baserunners while throwing 42 pitches. The right-hander breezed through the next three innings before Matt Dominguez followed Singleton's leadoff double by lining a run-scoring single through Arizona's drawn-in infield to tie the game at 1-all.
Arroyo got some defensive help along the way, including a pair of strike-out, throw-out double plays and a nifty grab up the middle by Hill on a short-hop in the seventh inning.
Arroyo allowed a run on six hits and struck out five.
''He's hitting his stride here, got on a pretty good roll,'' Gibson said. ''He knows how to get guys out.''
Peacock won his previous three starts and was sharp in his first game against Arizona.
Goldschmidt splashed a solo homer into the pool in right-center off him in the first inning, but the right-hander allowed two more hits after that - a pair of infield singles in the second.
Peacock walked four and struck out three in six innings.
''Peacock did a great job,'' Astros manager Bo Porter said. ''Six innings, strong, he finally started to use the top of the strike zone, did a good job of keeping us right there.''
The Diamondbacks have hit a double in 23 straight games, longest since club-record 32-game streak in 2006. ... Peacock has pitched at least five innings and has yet to allow more than four runs in nine starts after opening the season in the bullpen. ... Houston LHP Dallas Keuchel will go for his team-leading eighth win of the season when Astros head home to face the Diamondbacks and RHP Brandon McCarthy on Wednesday.