In his first big league appearance since being optioned to Triple-A New Orleans May 16, Marlins starter Tom Koehler (1-3) allowed seven runs -- all in the second inning -- on six hits and a pair of walks while striking out two.
Only three of the Brewers' runs were earned, thanks to an error by Miami second baseman Dee Gordon during the decisive second inning.
Milwaukee starter Zach Davies (9-4) got off to a rough start but got through six full innings, allowing four runs on five hits and two walks with five strikeouts.
Davies walked a pair of batters in the opening inning that turned into a 2-0 deficit on Justin Bour's double.
Stephen Vogt followed with a base hit, and after Keon Broxton struck out, Arcia singled and moved to second on Gordon's error.
Vogt took third on the gaffe and scored when Davies reached on a fielder's choice, sliding in just under catcher J.T. Realmuto's tag.
Ryan Braun made it a 5-2 game with his RBI single. Shaw came up a second time and reached again on a base hit and Santana loaded the bases by drawing a walk that finally chased Koehler, who threw 50 of his 59 pitches in the inning.
Reliever Vance Worley walked Vogt to drive in another run before striking out Broxton to finally end the inning.
Miami got two of those runs back in the third but Arcia's home run to lead off the seventh put Milwaukee back up four while Davies retired his last 10 batters.
NOTES: Umpire Joe West was behind the plate Saturday, a day after he was hit in the head by a baseball thrown from the stands at Miller Park. Neither West nor the Brewers were commenting on the matter, but the culprit had not yet been identified. Souvenir balls were pulled from the racks of souvenir stands. ... With the exception of recently acquired C Stephen Vogt, Milwaukee was with its regular starting lineup for the first time since mid-May. ... RHP Dan Straily (5-4, 3.44 ERA) takes the mound Sunday as the Marlins try to avoid being swept for the fifth time this season. RHP Junior Guerra (1-2, 4.54) gets the start for the Brewers, who have swept four series in 2017.