ATLANTA (AP) — Jarrod Saltalamacchia drove in the go-ahead run in the ninth inning, Henderson Alvarez won for the first time in three starts and the Miami Marlins beat the Atlanta Braves 3-2 on Thursday night.

In taking three of four games, the Marlins won just their second series in the last 10 against the Braves at Turner Field.

Alvarez (7-5) gave up six hits, two runs and one walk with four strikeouts in eight innings. The Marlins are 13-3 in his last 16 starts.

Braves closer Craig Kimbrel (0-2), pitching in a non-save situation with the game tied 2-all to begin the ninth, struck out Garrett Jones and had Marcell Ozuna struck out, too, but a wild pitch bounced a few feet away from catcher Evan Gattis and Ozuna reached safely.

With Saltalamacchia batting, Ozuna advanced to second on another wild pitch and scored on the RBI single to center, easily beating B.J. Upton's throw to the plate.

Alvarez had struggled against the Braves, going 0-2 with a 6.86 ERA in four career starts, and he was coming off an outing that ended after 2 2-3 innings when San Francisco's Joe Panik hit a liner off his left shin.

Chris Johnson hit his eighth homer, a two-run shot in the second that gave the Braves a 2-0 lead.

The Marlins tied it 2-all in the fifth on Adeiny Hecchavarria's RBI single and Christian Yelich's forceout.

Aaron Harang, who was attempting to win his fifth straight decision, gave up seven hits, two runs and two walks and struck out five in seven innings.

Marlins manager Mike Redmond successfully challenged that Justin Upton was out to end the sixth. Upton, diving back to first base after Heyward lined out to shortstop, was originally called safe by first base umpire Rob Drake, but the call was overturned.

Redmond has successfully challenged 15 of 19 calls this year.

NOTES: Braves manager Fredi Gonzalez gave SS Andrelton Simmons the night off and started Ramiro Pena, who went 1 for 3, in his place. ... With a throwing miscue in Miami's 6-1 loss Wednesday to Atlanta, Saltalamacchia has 12 errors and is tied for most by a Marlins catcher in a season (Miguel Olivo 2007). ... When Freeman homered Wednesday, he snapped a stretch of 83 straight at-bats without a homer, the longest stint of his three-year career.