Brian Sanches earned the decision, but Florida manager Edwin Rodriguez said his entire bullpen deserved the credit.
Five Florida relievers combined for four scoreless innings, John Buck drove in the go-ahead run with a seventh-inning single and the Marlins held off the Atlanta Braves 6-5 on Thursday night.
The relievers shut down the Braves after Florida starter Ricky Nolasco gave up five runs in five innings.
"The bullpen kept doing what they've been doing," Rodriguez said. "Outstanding. It seems like everybody is feeling comfortable with their role."
Buck was 0 for 9 in the series before driving in Gaby Sanchez from second base with the single off Eric O'Flaherty (0-1) to break a 5-5 tie.
Buck said he hit a fastball after O'Flaherty threw two changeups.
"I was struggling a little bit," Buck said. "Sometimes a hit like that helps."
The Marlins have won two of three in both Houston and Atlanta for a successful start to their nine-game road trip, which shifts to Philadelphia on Friday.
"I think anytime you beat a ballclub like the Braves, it should give you confidence," Buck said.
Sanchez had two hits, including his first homer. Logan Morrison had a two-run double and Hanley Ramirez was on base five times with three hits, including a run-scoring single, and two walks.
Brian McCann hit a three-run home run and Dan Uggla also homered for Atlanta.
Sanches (2-0) pitched a scoreless sixth inning to earn the win and Leo Nunez pitched the ninth for his fourth save. Randy Choate, Mike Dunn and Clay Hensley also pitched for the Marlins.
"That's what it's going to take, a full group effort, up and down the lineup," Buck said.
Chris Coghlan had two hits to go 7 for 12 in the series and continue his success against the Braves. Coghlan has hits in 20 straight games against Atlanta, including 10 straight at Turner Field.
Coghlan also delivered the key defensive play of the game with a diving catch in center of pinch-hitter Brooks Conrad's bases-loaded line drive off Sanches to end the sixth.
"It was kind of like Coghlan came out of nowhere," Sanches said. "I thought that was in the gap for sure. A great catch."
The Marlins scored three in the first on a run-scoring double by Mike Stanton and Morrison's two-run double. Ramirez drove in Buck, who walked, with a single in the second, and Sanchez hit his first homer in the third.
Each starting pitcher struggled. Nolasco lasted five innings, giving up five runs on six hits, including two homers, and a walk.
Nolasco managed to last five innings after throwing 33 pitches in the first while giving up four runs.
"Ricky showed a lot of heart," Buck said. "Ricky didn't have his plus stuff. He stepped up and somehow got us into the fifth. He could have easily cashed it in."
Braves rookie Brandon Beachy gave up five runs on seven hits and four walks in 5 1-3 innings for Atlanta.
Martin Prado, Nate McLouth and Chipper Jones reached on singles, with Jones driving in Prado. McCann followed with his three-run homer to right.
After his long first inning, Nolasco regrouped quickly by throwing only seven pitches in the second and six while retiring the Braves in order in the third. Nolasco gave up the homer to Uggla in the fourth as the Braves pulled even at 5-5.
Notes: Greg Dobbs struck out in each of his three at-bats against Beachy. Dobbs has six strikeouts in six career at-bats against the right-hander, including three with the Phillies in 2010. ... Nolasco did not walk a batter in his first two starts. He issued his first walk of the season, to Jason Heyward, in the fourth. ... Peter Moylan struck out Stanton to end the sixth with the bases loaded. ... Ramirez lifted his batting average from .194 to .256.