PHOENIX -- Miguel Montero, Didi Gregorius and Jason Kubel homered and Eric Chavez walked with the bases loaded to force in the go-ahead run in a three-run seventh inning as the Arizona Diamondbacks defeated the Milwaukee Brewers 5-4 on Saturday night.
Kubel homered with one out in the seventh, Cody Ross singled and Montero walked before Gregorius singled to right to tie the score at 4. Chavez then drew a pinch-walk off reliever John Axford.
Will Harris (2-0) pitched a 1-2-3 seventh, the 13th scoreless appearance in his last 14 games.
Brad Ziegler pitched a 1-2-3 ninth for his third save, and his second in three games, as Arizona (50-44) won its third straight and eighth in its last 11.
Jonathan Lucroy hit a two-run homer in a three-run sixth off Diamondbacks starter Randall Delgado to give Milwaukee a 4-1 lead. Gregorius made it 4-2 with his homer in the bottom of the inning.
Lucroy has five homers and nine RBIs in his last seven games as the Brewers (37-58) lost their fourth straight.
Kyle Lohse (5-7) lost his perfect game on Montero's homer with two outs in the fifth.
Lohse retired the first 14 batters he faced without much of a problem. He reached a three-ball count against only one batter, Montero, before striking him out in the second inning. Didi Gregorius' fly ball to the warning track in right field in the third was the closest thing to a hit until Montero's homer in the fifth.
Lohse drove in the Brewers' first run, after two-out singles by Logan Schafer and Jeff Bianchi with a chopper up the middle for a 1-0 lead in the second inning. It was Lohse's second hit and second RBI of the season.
NOTES: Kubel threw out Juan Francisco at second base attempting to stretch a single in the fourth inning. Kubel has six assists this season, five in left field and one in right, after leading the National League and setting a franchise record with 14 outfield assists in 2012. ... Milwaukee RHP Wily Peralta will start the final game of the first half on Sunday, his first start since a 2-0 shutout Cincinnati on Tuesday that broke the Brewers' major-league-record streak of 407 games without a complete game. ... Arizona OF Gerardo Parra did not start for a second straight game and has not started in four of the Diamondbacks' 14 games since landing face-first on the warning track in New York on July 1 while diving for a fly ball. Parra suffered cuts on his face and his right arm and was given a concussion test. He is 5-for-35 since. ... After a scoring change, Brewers OF Carlos Gomez was charged with an at-bat on his bunt in the first inning on Friday. Gomez originally was given a sacrifice when he was thrown out with one out and a runner on first base. It would have been his first sacrifice hit of the year.