Marlins third baseman Ed Lucas scores the go-ahead run in the ninth inning Thursday to beat the Braves.

ATLANTA -- Giancarlo Stanton is best known for his offensive ability, but on Thursday night it was his glove that made the difference.

Stanton made a running, lunging catch of Dan Uggla's fly ball in the ninth inning that helped preserve the Miami Marlins' 4-3 win over the Atlanta Braves.

"He had it all the way," Marlins manager Mike Redmond said with a grin. "We talk about playing both sides, and he didn't get any hits, but you've got to make plays, and that is probably one of the best catches I've ever seen."

Miami took the lead in the top of the ninth inning by scoring a run off Braves closer Craig Kimbrell. Pinch-hitter Donovan Solano delivered an RBI single with two outs that enabled Ed Lucas, who walked to lead off the inning, to score from second base with the go-ahead run.

"He had a great at-bat," Redmond said. "He battled. He took the perfect two-strike approach. He shortened up his swing and shot the ball through."

The Marlins called on Steve Cishek to finish the game. He walked Freddie Freeman and retired Brian McCann on a fly to left. That's when Uggla hit a long fly into the gap in right field that Stanton needed every inch of his 6-foot-6 frame to catch. Had the ball dropped, it likely would have scored Freeman with the tying run.

"Stanton made a helluva play on Uggla," Braves manager Fredi Gonzalez said. "I don't know how that ball stayed up in the air that long, but he made a helluva play."

Uggla couldn't believe it, either. He stood between first and second bases holding his hands to his head in disbelief.

"I was surprised he went and got it," Uggla said. "Off the bat I thought I had them split. He made a good play."

The winning pitcher was rookie A.J. Ramos (3-2), who struck out four in his two innings. Cishek earned his 17th save.

Kimbrel (2-2) had made 17 appearances since last allowing a run on May 7 at Cincinnati.

"I feel like my control was a little off," Kimbrel said. "If I was missing, I was missing pretty bad. I wasn't able to close it and get out of it tonight."

Neither starting pitcher was involved in the decision.

Miami's Henderson Alvarez, making his first start of the year, allowed three runs and five hits in five innings.

"He settled in," Redmond said. "I like what I saw. I think he was a little nervous against a good lineup, but he gave us the innings we needed."

Atlanta's Julio Teheran gave up six hits and three runs, striking out seven, in five innings.

"The first inning he struck out the side, but it took him 23 pitches," Gonzalez said. "He didn't seem like he got it going the rest of the night."

Atlanta scored three runs in the first inning. Andrelton Simmons reached on an infield single and Jason Heyward followed with a double. After Justin Upton popped out to first, Freeman slapped a single to center field that drove in both runners. McCann followed with a double to the gap in right center that allowed Freeman to score from first.

Miami cut the lead to 3-1 in the second when Marcell Ozuna belted a long homer to left for his first hit in the series.

The Marlins added a run in the third. Jeff Mathis led off with a single, extending his hitting streak to six games, and hustled to third on Justin Ruggiano's single that stopped in the wet grass in right field. Mathis scored when Lucas hit a slow roller to second.

Miami tied it 3-3 with a run in the fourth. Logan Morrison doubled off the wall in right and scored on Ozuna's single up the middle.

The win was the second straight over Atlanta for the Marlins, who had lost their previous eight games in the series.

NOTES: The Marlins activated RHP Henderson Alvarez from the 60-day disabled list to start against Atlanta. To make room on the roster, Miami optioned RHP Tom Koehler to Triple-A New Orleans and transferred OF Matt Diaz (left knee bone contusion) to the 60-day DL. ... The Braves placed OF Jordan Schafer (right ankle contusion) on the 15-day DL and purchased the contract of OF Joey Terdoslavich from Triple-A Gwinnett. To clear space on the 40-man roster, the Braves transferred LHP Jonny Venters (Tommy John surgery) from the 15-day DL to the 60-day DL. ... Atlanta's three-run outburst in the first inning marked only the fifth time in 17 games that Miami's starting pitcher had allowed more than two runs.