Wade Miley worked 7 2/3 innings of one-run ball to guide the Arizona Diamondbacks to a 3-1 win over the Chicago Cubs in the finale of a four-game set at Chase Field.
Miley (7-8) scattered five hits and three walks while fanning four to earn his third win in four starts.
Miley was hit on the knee with a line drive in the third inning, but remained in the game.
"You have adrenalin, you really don't feel it too much out there. I just tried to go out there and keep us in the game," said Miley.
Aaron Hill went 2-for-4 with a solo homer and two RBI and Cliff Pennington added two hits, including an RBI double, for the D'backs, who have won three of their last five games.
Brad Ziegler stranded a runner in the ninth to earn his fifth save of the season.
Carlos Villanueva (2-7) allowed all three runs on six hits while striking out five over five innings.
Welington Castillo went 2-for-3 with an RBI for the Cubs.
Outfielder Alfonso Soriano was a late scratch from the lineup. According to multiple reports, Chicago is on the verge of dealing the 37-year-old to the New York Yankees. Soriano spent the first five seasons of his career in New York before he was traded to the Texas Rangers for Alex Rodriguez.
"I don't know what the Cubs get, but I'm happy. I think they are happy too because they get something back. I'm happy to go back to New York where I started my career," Soriano said after the game.
Arizona jumped out to a 1-0 lead in the first inning. Adam Eaton walked then scored on Hill's double to left field.
In the fourth, Wil Nieves smacked a ground-rule double to right field and Pennington followed with a ground-rule double of his own to make it 2-0.
Hill added a solo homer in the fifth to give Arizona a three-run edge.
Chicago got on the board in the seventh inning. With a runner on second and two outs, Castillo ripped a double to center field to score Cole Gillespie.
Arizona is 40-4 when leading after eight innings this season ... Ziegler has held opponents scoreless in 11 straight home appearances since May 27 ... Arizona has had games decided by two runs or less in 63 of its 102 games this season ... The Cubs were 1-for-13 with runners in scoring position ... Chicago center fielder Junior Lake extended his hitting streak to seven games.