"Just the tough start, Johnson was good, so it was hard for our offense to get going," Brewers manager Ron Roenicke said. "We had a couple of opportunities, but they outplayed us today."
The Marlins got to Estrada right away thanks to three straight hits to start the first. Bryan Petersen led off the inning with a double, and he came around to score on a single by Donovan Solano. Jose Reyes drove in the second run when he slapped a double of his own to left field.
A wild pitch by Estrada and a sacrifice fly by Greg Dobbs resulted in the third run of the inning.
"It was brutal," Estrada said of the first inning. "I went out there, wasn't making my pitches. I felt all out of whack. I just wasn't making my pitches, and even when I did, they got hit. ... I was falling behind everybody, made a lot of bad pitches and got hit around."
Milwaukee's deficit increased to four runs the following frame. Donnie Murphy led off with a double and came around to score on an error by Rickie Weeks. Johnson squared to bunt, bringing the infield in, but then slapped a ball to Weeks on the edge of the infield grass.
The ball caromed off Weeks' glove and hopped into the outfield, allowing Murphy to round third and score.
"I don't think I've tried it in a big league game," Johnson said. "I don't know if I've ever tried it. We practice it every single day. When I saw the shortstop leaving, he threw me a curveball. To hit that in the shortstop hole is pretty hard to do. I had to hit it on the ground, and it worked."
It was the last run scored against Estrada, who gave up four in five innings while striking out five and walking none. He entered the game 2-0 with a 0.50 ERA in his last three starts, and hadn't allowed four runs in a game since Aug. 16.
Estrada said he felt fine before the game, but lost track of time with the 11:40 p.m. CT start and was rushed during his pregame stretching and throwing regimen. It also didn't help that Johnson worked a quick 14-pitch top of the first.
"It's all my fault," Estrada said. "I can't let little things like that happen. Just got to learn from this."
The Brewers were able to cut into the lead in the third, but had trouble against Johnson all afternoon.
Norichika Aoki extended his hit streak to 10 games with a leadoff triple, and he scored on a sacrifice fly from Ryan Braun, his 99th RBI of the year. The triple gave Aoki his third hit streak of at least 10 games in his rookie season.
Johnson retired 10 straight after Aoki's triple. Braun singled with one out in the sixth to snap that streak, and Corey Hart followed with a walk. Both runners were stranded.
"I think I gave [Johnson] a little confidence with that three-run lead after the first inning," Estrada said. "He did what he was supposed to do. He's a good pitcher and he showed it today."
Milwaukee got two aboard with no outs in the seventh against Johnson, but was only able to push one across. Johnson struck out Travis Ishikawa on what would have been ball four for the first out, and then gave up a sacrifice fly to Aoki before escaping the inning.
Johnson held the Brewers to two runs over seven innings to end a streak of 11 straight games in which Milwaukee scored at least three runs. The Marlins then tacked on a pair of insurance runs in the eighth to hand the Brewers a loss heading into a crucial three-game series in St. Louis.
"Every game is a must-win at this point," catcher Jonathan Lucroy said. "We're not going to treat any team any different. We just need to go in there, play hard and play good. If we play up to our ability, we're going to be successful."