ATLANTA -- Josh Johnson kept one word in mind as he rehabbed from reconstructive elbow surgery.
"That was the word I put out there in rehab," he said. "You want to finish an at-bat, finish an inning, finish a game."
Hanley Ramirez had a two-run single and Dan Uggla hit his 28th home run for the Marlins, who have won three of five.
Johnson (4-0) struck out eight and walked three to improve to 3-0 with a 2.58 ERA in six starts on the road this season.
The right-hander, who returned July 10 for his first start since undergoing elbow ligament replacement surgery last August, previously pitched a career-high 7 2/3 innings on Aug. 28, 2006, against Milwaukee.
Winning for the first time in three starts, Johnson lowered his ERA to 3.12 and put Florida in position to win back-to-back games for the first time since July 30-31.
"My location was good," Johnson said. "I was down in the zone. My slider was good, and my two-seamer also."
Atlanta starter Mike Hampton (2-2) allowed eight hits and three runs, walked two and struck out five in eight innings, his longest outing since April 17, 2005, at Philadelphia.
The Braves have lost 13 of 16.
Hampton, facing the Marlins for the first time since May 3, 2005, dropped to 10-7 with a 4.47 ERA in 24 career appearances (23 starts) against Florida.
"I pitched a good game on a night when I needed to pitch a great game," Hampton said. "I just failed to execute a big pitch when I needed it."
Blaine Boyer pitched the ninth and gave up Uggla's home run, which ended the scoring.
The Marlins took a 1-0 lead in the third on Wes Helms' RBI single.
In the fifth, Ramirez made it 3-0 with a two-run single. Ramirez, who was hitting only .219 in 96 at-bats this season with runners in scoring position, drove in Uggla and Helms with two outs.
"Our offense is going to take care of itself," Uggla said. "Timely hitting is how you know when a team is playing well."
Atlanta made it 3-1 in the fifth when Kelly Johnson tripled and scored on Martin Prado's RBI groundout.
Johnson faced the minimum through the first four innings and retired each batter he faced in the sixth and seventh.
With runners on second and third in the eighth, Johnson struck out pinch-hitter Greg Norton and Gregor Blanco. In the ninth, Chipper Jones singled and Kelly Johnson walked, but the Braves were finished when Prado grounded into a fielder's choice forceout.
"He wasn't good," Atlanta manager Bobby Cox said of Josh Johnson. "He was great. We couldn't touch him early at all. Every time we've faced him, we've got nothing. He's legit. He's a legit No. 1."
Improving to 3-1 with a 2.33 ERA in eight games -- seven starts -- against the Braves, Johnson threw strikes on 80 of his 113 pitches. Better yet, his performance let Marlins manager Fredi Gonzalez rest his bullpen one night after five relievers pitched in a 10-9 loss to Atlanta.
"That was a big thing," Johnson said. "The bullpen gets another day's rest."
Uggla went 2-for-3 with a double, improving to .326 with three home runs in 46 at-bats this year against the Braves. ... Atlanta OF Josh Anderson was called up from Triple-A Richmond to take the roster spot created by Mark Kotsay's trade to Boston. ... The Braves signed RHP Elmer Dessens, who pitched this year in the Mexican League, for the remainder of the season. ... Ramirez singled to lead off the eighth, but was thrown out 7-6-3-4 trying to advance to second on Brandon Jones' lackadaisical throw from left field. ... Braves RF Jeff Francoeur, 4-for-7 in the series, has consecutive multihit games for the fourth time this season.