The Brewers carried a 3-1 lead into the eighth as both teams began to put in their Minor League players.
The D-backs loaded the bases in the eighth against reliever Amaury Rivas and Minor League outfielder Evan Frey emptied them with a triple to right to give the D-backs a 5-3 lead. Earlier in the inning, Cody Ransom's single to left scored Gerardo Parra to pull Arizona to within 3-2.
Corey Hart had a pair of hits, including a double, in his first Major League action this spring. Hart, who is four weeks removed from surgery on his right knee, will be on the Brewers' Opening Day roster.
Hart played right field with no trouble, and manager Ron Roenicke was particularly pleased to see Hart scamper to third base on an infield hit that followed his double.
"If he's taking chances like that and sliding, he feels good," Roenicke said. "He was tested today. He had some plays he had to run hard for and I thought he looked good."
The Brewers' first run came without the benefit of a hit.
With one out in the third, Travis Ishikawa was hit by a pitch and pitcher Randy Wolf reached first on an error by first baseman Paul Goldschmidt. After Rickie Weeks drew a walk to load the bases, Ishikawa came home on a groundout by Carlos Gomez.
Milwaukee increased its lead to 3-1 in the fourth when Alex Gonzalez hit a two-run homer to left.
Gonzalez finished with three hits to raise his average to .463. Signed as a free agent for his defense at shortstop, Gonzalez leads the Brewers with 44 total bases.
The D-backs got on the board in the fourth when Miguel Montero's groundout scored Justin Upton from third.
Wolf, who is scheduled to make his first regular season start Sunday against the Cardinals, allowed one run on two hits in four innings of work.
D-backs starter Josh Collmenter, slated to start Sunday against the Giants, had his best outing of the spring. The right-hander allowed one unearned run in three hitless innings.
Up next: Right-hander Shaun Marcum will make just his second Cactus League appearance on the day the Brewers break camp and head north for the regular season. He was sidelined earlier this spring by a stiff shoulder but should be ready to approach the 75-pitch mark in Wednesday's Spring Training finale. He will begin the season as Milwaukee's No. 4 starter. The Brewers Radio Network and FS Wisconsin will both carry the game, which begins at 2:40 p.m. CT and should feature most or all of the Brewers' regular position players.
Steve Gilbert is a reporter for MLB.com. Read his blog, Inside the D-backs, and follow him on Twitter @SteveGilbertMLB. This story was not subject to the approval of Major League Baseball or its clubs.