Credit Marlins starter and winner Wei-Yin Chen (3-1) for keeping the Crew in check.
"We never got into a good count to hit," manager Craig Counsell said. "He kept getting ahead of us."
Ryan Braun collected three of Milwaukee's eight hits, including an RBI single in a two-run seventh inning. Braun extended his hitting streak to a season-best 11 games and 23 straight on the road against the Marlins, dating back to June 1, 2009.
Braun also drove in his club-leading 27th run of the season during his fifth three-hit game this season. Jonathan Lucroy added two hits, recording his third multihit game in his last four starts.
Still, the Brewers found themselves a run behind in the seventh inning when Jonathan Villar tried to move from first to third on Braun's two-out RBI single.
"It was an aggressive play," Counsell said. "Johnny's going to force the action. Last night it pays off for a run, tonight it burns us."
Villar was thrown out at third to end the inning and Milwaukee's last scoring threat. It took a perfect throw from center fielder Marcell Ozuna to nab the speedy Villar.
"The last three games, they never throw perfect over there," Villar said of his bold attempt. "So we were ready to go to third.
"Better to be on third, because an error or base hit you can score. I was trying to be aggressive with two outs. He threw perfect to third base. If he throws a little bit [off], I'm safe. But he threw perfectly to third base. Nice job for him."
Villar said he made the right decision to try to advance to third on the single.
"Yeah, that's my game, be aggressive to help the team," he said.
Glenn Sattell is a contributor to MLB.com and covered the Brewers on Wednesday. This story was not subject to the approval of Major League Baseball or its clubs.