MIAMI -- All signs pointed to a Braves win on Monday.

They had Josh Johnson, the Marlins' starter who threw a complete game against Atlanta in his last start, out after six innings. Atlanta's starter, Mike Hampton, showed more durability than he has in well over three years. And in a tie game in the ninth, they had a pitcher on the mound who has been one of the Major Leagues' most reliable closers all year.

Usually, on a team that doesn't lose 20 out of 29 games in August, those things translate into victories.

For Atlanta, it led to yet another one-run loss on the road.

With the bases loaded and one out, Mike Gonzalez gave up a sacrifice fly to John Baker, which led to a 4-3 walk-off loss to the Marlins in front of 12,209 at Dolphin Stadium. The Braves have now dropped 29 straight one-run road games, a streak dating back to Aug. 10, 2007.

"I'm pretty much disgusted with losing," said Gonzalez, who, according to Elias Sports Bureau, still holds the longest current streak in the big leagues with 37 straight converted save opportunities. "The worst thing in the world right now is just to go out there and losing like this.

"I'm trying to go out there and do my part, and obviously, I have to go out there and throw that goose egg to give ourselves another chance to score some runs."

The Braves had a chance to take their first lead when they had runners on the corners with two outs in the top of the ninth. But after a 10-pitch at-bat, Martin Prado flied out to shallow center field against Matt Lindstrom to end the threat.

That set the stage for the game-winner in the bottom of the ninth.

After issuing a walk to Dan Uggla and a sacrifice bunt to Josh Willingham to start the inning, Gonzalez -- who has made only made three appearances in the last 12 days -- intentionally walked Cody Ross and unintentionally walked Wes Helms to load the bases. Then, on an 0-1 pitch, Baker flied one to shallow left field, where Brandon Jones, playing shallow, ranged to his left, turned and threw home but wasn't even close to getting Uggla with the winning run.

"It makes it a little bit harder when you know they're not swinging," Gonzalez said. "Just, all of a sudden, the strike zone becomes so much smaller."

Another thing that goes a team's way when they're winning is close calls. That wasn't the case for the Braves on Monday, either.

Leading off the game, Hanley Ramirez had a half-swing on a two-strike pitch out of the zone that the umpires ruled was a check swing, and Ramirez eventually walked. Three batters later, Jorge Cantu homered to give the Marlins a 2-0 lead.

Then, in the top of the fifth, the Braves picked up two runs to tie the game at 3. But with runners on second and third with two outs, Yunel Escobar grounded to Ramirez at shortstop and was called out on a bang-bang play at first that, had it been called safe, would've given the Braves their first lead.

"He was safe, he was definitely safe," manager Bobby Cox said about the Escobar play. "[Ramirez] went completely around, and then they hit a homer. It would've been three outs.

"But, that's the way it goes. You can't complain. This is a good umpiring crew."

Hampton continued his progression in coming back from a career ravaged by injury when he dialed up his highest pitch count since April 22, 2005, when he threw 118. Five days after going a season-high eight innings against the Marlins on Wednesday, the 35-year-old lefty scattered three runs on six hits through six innings while throwing 106 pitches, 62 for strikes.

"To be able to throw that many pitches and still keep my team in the game, I was pretty proud of that," Hampton said. "It's not easy to pitch in day games [in South Florida] because it is so muggy and hot. But it's good. I feel like my arm strength is as strong as it needs to be. I just need to keep my mistakes down."

The Braves got on the board thanks to an RBI single by Brandon Jones in the second, and added two more to tie the score in the fifth inning when they forced Johnson to throw 27 pitches and shorten his outing.

After a double by Brandon Jones and a seeing-eye single by Hampton, Josh Anderson, making his fifth straight start in center field and the leadoff spot, got his second hit of the day to make it a one-run game. Two batters later, Chipper Jones hit a ground ball that just got through the infield and into center field to bring in Hampton and tie it at 3.

"When I looked up there and saw 50 pitches after three innings, that's usually a pretty good indication that you have a chance to take the guy out early," said Kelly Johnson, who finished 1-for-4. "We had some chances after that, and we had some chances earlier, but we just have to find a way to get some runs across the board one way or another.

"We got some big hits, but we just missed on a couple. We lined out a couple of times early, balls could've gotten through. ... It's just a tough loss to lose again by one run like that."