Baker's fly ball to shallow left drove in Dan Uggla, who beat left fielder Brandon Jones' throw to the plate. It was the 11th walk-off win this season for the Marlins. They avoided falling to .500 for the first time since April 6, when they were 3-3.
"With one out, it's the one chance we have to score without a base hit," Baker said. "I'm looking for anything out over the plate in those situations and both pitches were close to me. You can't get behind in the count and can be a little bit more aggressive with one out."
The Braves have lost four straight and 17 of their last 21 games to fall 20 games under .500 for the first time since 1990. It was the 29th consecutive one-run loss on the road since August 10, 2007 for the Braves, a major league record.
The Marlins loaded the bases in the ninth off closer Mike Gonzalez (0-1). Uggla led off with a walk then went to second on a sacrifice bunt. Gonzalez intentionally walked Cody Ross, then walked Wes Helms to fill the bases, setting the stage for Baker.
Gonzalez couldn't seem to find the strike zone.
"I just wasn't throwing strikes," Gonzalez said. "It gets harder when you know they're not swinging and looking for a walk. The strike zone just becomes so much smaller. I beat myself in this situation. When you lose for walking three guys, that's where it hurts."
Matt Lindstrom (3-2) pitched the ninth for the Marlins and got the win.
Florida remained seven games behind New York in the NL East after the Mets rallied to beat the Brewers. Meanwhile, the Marlins haven't won two games in a row since the end of July.
"Let's have a little better September than we had August," said Marlins manager Fredi Gonzalez, who acknowledged they were aggressive in sending Uggla on the fly by Baker.
"He was going no matter who caught it. We were going to make them throw him out."
Atlanta had runners on the corners in the ninth, but Martin Prado popped out to end the inning.
"I'm pretty much disgusted with losing," Gonzalez said. "That's the worst thing in the world right now is to go out there and be losing like this."
The Marlins took a 2-0 lead on Cantu's home run off Hampton in the first. His shot over the left field scoreboard scored Hanley Ramirez, who walked to lead off the inning.
Paul Lo Duca and Luis Gonzalez hit back-to-back doubles to give the Marlins a 3-1 advantage in the third.
The Braves scored twice in the fifth to tie the game at 3. Brandon Jones doubled to lead off, then Hampton singled Jones to third. Jones scored on Josh Anderson's single. One out later, Chipper Jones drove in Hampton on a bouncer up the middle.
Florida starter Josh Johnson pitched six innings, allowing three runs and nine hits while striking out eight, tying his career high.
"This win is a big lift," Johnson said. "Everybody's got smiles on their faces and that's what we want right now."
Braves starting pitcher Mike Hampton tossed six innings. He gave up three runs and six hits.
- Florida will recall INF Robert Andino, INF Dallas McPherson and RHP Eulogio De La Cruz on Tuesday.
- The Marlins activated LHP Andrew Miller (15-day) and OF Brett Carroll (60-day) from the disabled list. Miller struck out the side in the seventh inning.
- C Mike Rabelo was transferred to the 60-day DL.
- Hampton's 106 pitches today was the most since April 22, 2005 vs. Philadelphia (118).
- The Braves activated INF Ruben Gotay from the 15-day DL.