MIAMI, Fla. -- Josh Johnson bounced back from a tough-luck loss -- at the Milwaukee Brewers' expense.
Johnson, the loser Saturday night in Philadelphia star Roy Halladay's perfect game, pitched seven strong innings, and Ronny Paulino drove in two runs to help the Florida Marlins beat the Brewers 3-2 on Thursday.
"J.J.'s out there, so hop on his back and go along for the ride," second baseman Dan Uggla said.
Johnson (6-2), who signed a four-year, $39 million extension in the offseason, finally allowed an earned run, ending his streak at 31 1/3 innings spanning parts of six starts.
"He's been real good," Marlins manager Fredi Gonzalez said. "To get through that lineup only giving up one run, he did a hell of a job."
The 6-foot-7 right-hander allowed one run, seven hits, and three walks while striking out eight. He threw 75 of his 115 pitches for strikes.
"The three walks, that got to me," Johnson said.
Clay Hensley pitched a scoreless eighth, and Leo Nunez converted his 12th save in 14 opportunities, but not without some excitement. Nunez allowed three straight one-out singles, including one by Ryan Braun that cut the lead to a run. Nunez got Prince Fielder to fly out and struck out Corey Hart to end the game.
"The Brewers don't roll over," Gonzalez said. "That eighth inning was hairy and the ninth inning the same thing. We're glad they're leaving town."
Uggla scored two runs and drove in the other run for the Marlins, who took three out of four from the Brewers.
"Every loss is frustrating. It's never fun, it's never enjoyable," Braun said. "You just have to continue to work hard, continue to believe in the process and the results will be there."
Milwaukee's Chris Capuano (0-1) made his first start in the majors since Sept. 28, 2007, against San Diego. Capuano, returning from Tommy John surgery, got off to a good start, but ran into trouble in the fourth inning.
With the Marlins leading 1-0 on an RBI double by Paulino in the second, Jorge Cantu and Uggla hit back-to-back doubles to open the fourth. Cody Ross singled and Paulino reached on an error by Rickie Weeks, scoring Uggla. Capuano got the next two batters before walking Chris Coghlan, ending his night. Kameron Loe struck out Gaby Sanchez with the bases loaded to get out of the jam.
"I thought [Capuano] battled, he only gave up two or three his first start back, I thought he did a great job," Uggla said. "Tip your hat to him, we were lucky enough to squeak a few by."
Johnson also praised Capuano after he missed most of two seasons
"I've been there before, it's been a long road for him and I wish him the best," Johnson said. "I remember watching him before he had surgery and he was nasty, so hopefully he can get it back."
Capuano allowed three runs and seven hits in 3 2/3 innings in addition to walking one and throwing two wild pitches. He struck out four.
"The best thing is that it's behind me," Capuano said. "I was excited to get out there. I had some nerves. It's been a long road to get back out there. From an overall [standpoint], it's great to get the first one out of the way and get down to business."
Weeks hit a sacrifice fly in the seventh after back-to-back base hits by Jonathan Lucroy and Joe Inglett for the Brewers' first run.
"I thought we swung the bats OK," Brewers manager Ken Macha said. "We left some runners on base."
The Marlins finished 5-5 on their homestand. Coghlan hit .400 (16-of-40) during the stretch, scoring eight runs. ... Capuano went 3-1 with a 1.59 ERA in seven minor league starts. ... Weeks was 4 for 18 with seven strikeouts in the series. ... Fielder reached base in four of five plate appearances, raising his on-base percent to .407. ... The start of the game was delayed 13 minutes, marking it the sixth delay at Sun Life Stadium.