Justin Upton hit a home run and drove in three behind Trevor Cahill's complete game, as the Arizona Diamondbacks easily defeated the Chicago Cubs, 8-2, in the second installment of a three-game series.
Cahill (13-12) struck out nine and gave up just four hits. He didn't allow a run until Alfonso Soriano stroked a two-run homer with one out in the ninth inning.
Cahill also drove in two runs for the Diamondbacks, who will go for the series sweep on Sunday.
Upton went 2-for-4 and scored twice, while Aaron Hill delivered three hits and drove in two.
Chicago starter Justin Germano (2-10) was pounded for seven runs on 10 hits. He lasted just 4 1/3 innings for the Cubs, who have lost seven games in a row.
"I just hit a wall this last month and a half," said Germano. "These last few starts I can see that I'm not finishing pitches like I was earlier in the year."
Arizona put three runs on the board in the first inning. Adam Eaton singled to start the frame and Gerardo Parra sacrificed him to second before Hill drove a double to left to bring him home. Hill then came around to score on a base hit from Upton, who moved to third on Ryan Wheeler's single. Mike Jacobs then ripped a single to center to give the Diamondbacks a 3-0 lead.
Hill drove in another run in the following inning when he hit a soft fly ball to center field to score Eaton from second.
Arizona plated another three runs when Upton drilled a two-run homer in the fifth inning and Cahill drew a bases-loaded walk later in the frame.
After David DeJesus led of the top of the first with a single, the Cubs managed just a single base runner until the sixth inning. Cahill struck out the side in fourth and didn't allow a hit until Luis Valbuena ripped a two-out single in the top half of the sixth.
"He pitched very well for us this year," said Arizona manager Kirk Gibson regarding Cahill. "He had 13 wins and 12 losses, we could've improve upon that. I think he can be a 20-game winner."
Cahill drove in his second run of the game with a single in the bottom of the seventh after Mike Jacobs reached on a one-out double.
In the ninth, Cahill struck out Valbuena to lead off the inning, but then walked Anthony Rizzo before giving up Soriano's homer.
The Cubs are winless in 18 tries in N.L. West ballparks this season ... Hill's three hits on Saturday gave him 179 for the season, the fifth most ever by a Diamondback ... Cahill's 13 wins is the most he has had in a single season since he won 18 in 2010 ... Cahill recorded his second shutout of the season and the third of his career.