Updated

John McDonald's three-run homer keyed a five- run third inning, and the Arizona Diamondbacks beat Milwaukee, 8-5, Saturday night.

The teams combined for nine runs in the third, but Arizona held on in the late innings to even this three-game series.

Gerardo Parra tied a career-high with four hits and scored twice for the Diamondbacks, who bounced back from a 7-1 loss on Friday.

Wade Miley (6-1) surrendered eight hits and five runs -- three earned -- over six innings to win his third straight start. The rookie left-hander also picked up a pair of hits, including a double.

Parra topped off his great night by racing back to make a catch in deep center field on a ball hit by Norichika Aoki in the ninth inning. J.J. Putz had a 1-2-3 final inning and notched his 10th save of the year.

Cody Ransom hit a two-run double for the Brewers, who lost for the seventh time in 10 contests.

Zack Greinke (5-2) was shelled for 10 hits and seven runs over 2 1/3 innings and suffered his first loss since April 12. He was 4-0 over his previous seven starts.

Jonathan Lucroy singled in Corey Hart in the first inning, but Arizona went ahead 2-1 in the bottom half thanks to RBI singles from Justin Upton and Jason Kubel.

Aoki tripled leading off the third and scored on Ryan Braun's groundout. Ransom cranked a two-run double down the left-field line later in the frame and Edwin Maysonet reached second on Ryan Roberts' error, plating Ransom.

A bases-loaded walk to Roberts in the bottom half cut the deficit to 5-3 and Konrad Schmidt's fielder's choice grounder plated another run. McDonald then drilled a pitch barely over the wall in left.

"We were just trying to get good at-bats and we were able to hit some pretty tough pitches," Kubel said. "That's what we need to do, especially against him (Greinke), take what you can get."

Greinke gave up a single to Miley and then walked Parra before being removed.

"I think Zack lost command. I think he tried to be perfect and you can't pitch perfect," Brewers manager Ron Roenicke said.

Upton seemed upset after being hit by a pitch in the back by Mike McClendon later in the third, but Kubel grounded out with the bases full.

Aaron Hill singled in Parra in the seventh.

Game Notes

Diamondbacks catcher Miguel Montero, who received a five-year contract extension Saturday, sat out his fourth straight game due to a groin injury...Miley owns a seven-game hitting streak, going 8-for-17. His seven- game hit streak ties Dan Haren (May 21-June 28, 2010) for the club record by a pitcher...The Diamondbacks have won just three of their last 13 home games, while Milwaukee lost for just the fourth time in its last 15 road contests vs. the Diamondbacks...Aramis Ramirez was scratched for Milwaukee due to a bruised left elbow. He was hit by a Craig Breslow pitch leading off ninth inning Friday night.