ATLANTA -- Manager Bobby Cox wasn't terribly concerned after the Atlanta Braves lost a tight game in a close playoff race.
"We almost pulled it off," Cox said. "We had the bases loaded. We had a couple chances. Anything can happen."
Jorge Cantu hit a tiebreaking RBI single in the seventh and the Marlins damaged Atlanta's playoff hopes, winning 5-4 Tuesday night to snap the Braves' seven-game winning streak.
Atlanta, which had won eight of 10 and 15 of 17 overall, fell three games behind NL wild card-leading Colorado with five games left. The Rockies beat Milwaukee 7-5 in 11 innings.
Chris Coghlan had three hits and scored twice for the Marlins, who had lost three of four. The Rockies' win eliminated Florida from playoff contention.
Cameron Maybin's two-run homer gave the Marlins a 4-1 lead in the fifth inning, but Matt Diaz hit a tying three-run drive off Brian Sanches in the sixth.
"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.
Brendan Donnelly pitched a scoreless eighth, and Leo Nunez closed it out for his 25th save in 32 chances.
"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."