"We'll come tomorrow ready to play," Diaz said. "Tonight we faced Josh Johnson. You get four runs, you say you'd take that. Especially with [Braves starter Tim Hudson] on the mound. He kept us in the game, but we weren't able to capitalize a couple times."

Florida went ahead for good in the seventh. Coghlan led off with a double and advanced on Maybin's sacrifice. Hanley Ramirez was intentionally walked before Cantu's hit off Kenshin Kawakami (7-12) gave the Marlins the lead.

"We just want to finish strong," Cantu said. "Whatever happens, we have a winning record. I'm proud of this team. We had a lot of players who came through for us."

Renyel Pinto (4-1) pitched 1 1/3 scoreless innings to earn his first win since June 30 at Washington, a span of 40 appearances. The Braves put runners on first and third with two out in the seventh but Pinto got Yunel Escobar to hit a harmless comebacker to end the inning.

"They have the kind of lineup that can do damage at any time," Florida manager Fredi Gonzalez said. "Our bullpen did a nice job."

Dan Uggla hit his 31st homer for the Marlins, who finished with 11 hits. Johnson, who missed his previous start Sunday against the New York Mets with the flu, gave up one run and three hits in five innings.

"Early on, I had command of all my pitches," Johnson said. "In the third inning, I got a little erratic, but I made good pitches when I needed to. I was a little winded early."

Johnson also helped himself at the plate, hitting an RBI single off Hudson in the second to end Florida's streak of 22 consecutive scoreless innings.

Hudson allowed four runs and seven hits in five innings.

"It was a bit of a struggle for me out there," Hudson said. "I was battling some location issues. They're a scrappy ballclub even though they're out of it. They're going out there playing like professionals do."

Coghlan leads the majors with 106 hits since the All-Star break. The rookie left fielder and leadoff hitter reached four times on a pair of singles, a double and a walk.

"He has been amazing," Cantu said. "What a way to come to the big leagues. When he gets experience, he'll be a demon."

Game notes

Marlins 1B Nick Johnson missed his fourth straight game with the flu. ... The Braves were 1 for 6 with runners in scoring position. Florida was 3 for 10. ... LHP Mike Gonzalez pitched a scoreless eighth for Atlanta.