The crowd of 18,707 was the first sub-20,000 paid-attendance crowd at Marlins Park during the regular season. They saw the Marlins avoid being eliminated from the National League East race with the win that capped a 3-6 homestand.
Miami would have been mathematically eliminated with a loss, coupled with a Washington win.
Johnson (8-11) won for the first time since beating the Nationals on Aug. 3, a span of six starts. He had dropped four straight decisions in the same season, something he had never done in his career.
There was another time the right-hander lost four in a row, but it was over two seasons -- Sept. 7, 2006 to June 29, 2007.
Even though the results haven't been what Johnson would have liked, the Miami ace actually has thrown pretty well in the second half. He is 3-6 in 11 starts, but his ERA is 3.45 in that span.
"He couldn't do anything about it, because we couldn't help him offensively by scoring some runs," manager Ozzie Guillen said. "He had some very tough games offensively. And he had a couple of ugly games, but that's part of the season. If you put it together, I think everybody should be pleased by the way he's went about his business this year."
After he missed more than four months of the 2011 season with right shoulder inflammation, no one really knew what to expect from Johnson. He's held up physically, making all 28 of his starts. And he's thrown 172 1/3 innings.
With four more starts remaining, he has a chance to reach 200 innings.
"It would be nice," Johnson said. "It wasn't really one of my goals, but it would definitely be nice just to make every start. I've done that so far."
In support of the ace, the Marlins struck quickly off Marco Estrada, scratching out three first-inning runs.
Bryan Petersen doubled to open the inning, and he scored on Donovan Solano's single to center. Jose Reyes' RBI double made it 2-0. Reyes had stolen four bases in a four-game span heading into Thursday, prompting the Brewers to try to keep the speedster close to second. On several occasions, Estrada made throws to second base.
But during his showdown with Greg Dobbs, Estrada threw a wild pitch, allowing Reyes to take third. It was a big play because Dobbs laced a sacrifice fly to right, scoring Reyes.
In the second inning, the Marlins tacked on a fourth run. Donnie Murphy doubled to open the inning, and he scored on Rickie Weeks' error on Johnson's slapped grounder to second. Johnson squared to bunt, but pulled back and chopped a grounder that Weeks was unable to handle.
Milwaukee countered in the third inning, cashing in on Norichika Aoki's leadoff triple. Aoki, who has a 10-game hitting streak, trotted home on Ryan Braun's sacrifice fly to center.
Another sacrifice fly by the Brewers closed their deficit to 4-2 in the seventh inning. Johnson walked Jeff Bianchi to open the inning, and it hurt him. Aoki's sacrifice fly made it a two-run game.
"I thought he had really good location today on all of his pitches," Brewers manager Ron Roenicke said of Johnson. "He was throwing some 3-2 curveballs. He's got a really good slider also. He's got good stuff. When he's commanding the ball, he's tough."
The Marlins were able to tack on some insurance runs in the eighth inning.
Giancarlo Stanton, who had struck out three straight times, ripped a double to open the inning and he scored on Dobbs' double. Donnie Murphy chipped in with a run-scoring single, and the Marlins ending the homestand on a positive note.
"It's fun when you see people smile and play music in the clubhouse," Guillen said. "That's all you can say at this point. Even though we were losing games, we've battled, we were just losing games. But I don't see anybody lay down and check [out]. Everybody is doing what they're supposed to do. It's fun when you're winning. It makes the day a lot better."