Arroyo (3-2) allowed five hits, striking out four and walking two to continue his dominance of the Brewers, improving to 16-10 against them in his career. Arroyo, 3-0 in his last five starts against Milwaukee, also moved runners over with a sacrifice bunt, got in position to complete a double play, and took two bases on a wild pitch that ultimately led to the deciding run.
"He does so many things well," Arizona manager Kirk Gibson said. "One of the things he talked to our team about when he first arrived in Spring Training was being able to take care of the things you have to take care of during the course of a game. There was the double play in the sixth that he got over to first base. That's not an easy play but he was over there early, got squared around and got himself out of the inning.
"That's why the guy wins. The way he throws, but he does all the little things well. He got the bunt down and got the guy over. Read the ball going over to the backstop on the bases. He didn't just jog and got us another run. Excellent, excellent job."
But the right-hander needed help from his bullpen in the eighth, after the Brewers chased Arroyo on Caleb Gindl's leadoff single and Logan Schafer's one-out walk. Rickie Weeks greeted reliever Brad Ziegler with a single to load the bases, but Carlos Gomez bounced into an inning-ending double play.
"Sitting there, we know what he's going to throw," Brewers manager Ron Roenicke said of Arroyo, who is 2-0 with an 0.87 ERA in his last three starts. "When you're expecting a fastball, you're not getting it. But it's hard as a hitter to go up there and think that way. You get yourself ahead in the count and you think you're going to get a fastball, and it's hard sometimes to sit off-speed."
Addison Reed allowed a run in the ninth on a Lyle Overbay sacrifice fly, but struck out Mark Reynolds to end it.
The D-backs tagged Brewers starter Wily Peralta (4-2) for 11 hits in six innings, but scored their only runs on Goldschmidt's seventh home run in the third inning.
Arizona stranded two runners in each of the first two innings before breaking through in the third. Martin Prado singled to open and Goldschmidt followed with his second homer in two days, lining a 1-0 pitch from Peralta over the left-field wall.
The D-backs added an unearned run in the eighth off reliever Will Smith. Arroyo singled with one out and advanced all the way to third on a wild pitch when catcher Jonathan Lucroy couldn't find the ball. Arroyo scored when Reynolds mishandled Gerardo Parra's infield chopper.
"You get a couple hits, a couple bloop hits in there, too, so it always looks a lot better," said Goldschmidt, who now is 17 for 37 (.459) with four homers and 12 RBI in eight games at Miller Park. "It doesn't necessarily mean you're locked in. But, as an offense we had a good day today. What did we have, 14, 15 hits?
"We were only able to get a few runs, but when guys are having good at-bats like that ... Yesterday was a good job. We scored seven or eight runs. Even the first game, we had some good at-bats. So, as an offense, we just need to keep doing that and hopefully carry it forward."
The Brewers took a 1-0 lead with an unearned run in the first. Gomez beat out a bunt single up the first-base line and moved to third when Scooter Gennett's bouncer went off the glove of second baseman Prado for an error. Gomez scored when Lucroy bounced into a double play.
"Today started off kind of slow, I got fortunate to have a couple of double plays that were huge," said Arroyo. "And then once you get the lead and things start rolling and you get kind of deep in the ballgame, you can start trying to get a grasp of it and really start bearing down and being a little more picky with your pitches in the middle of the plate. Hopefully it just works out and it did today."
The victory was the 303rd for manager Kirk Gibson, tying him for second with Bob Brenly on the D-backs' all-time list behind only Bob Melvin with 337.