ATLANTA — Jarrod Saltalamacchia knows most teams don't get many chances to beat Atlanta Braves closer Craig Kimbrel.
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 Braves 3-2 on Thursday night.
"He threw me a lot of sliders tonight, which is not what he's done in the past, but I'd swung over a slider two nights ago and struck out," Saltalamacchia said. "I don't blame him. He made a mistake and I was able to do something with it."
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.
Kimbrel (0-2), pitching in a non-save situation with the score tied 2-all to begin the ninth, struck out Garrett Jones and had Marcell Ozuna struck out, too, but the ball a wild pitch rolled a few feet from the plate after bouncing off catcher Evan Gattis' shin guards 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.
Saltalamacchia went 3 for 4 with two doubles.
"I think it's my third time facing him," Saltalamacchia said. "He's an All-Star closer. He's got great stuff and really has a great idea of what he's doing out there. In that situation, I'm just trying to not get too big, put a ball in play."
Kimbrel, a four-time NL All-Star, allowed one hit and one run and struck out two. He blamed himself for the wild pitches.
"That's part of baseball," Kimbrel said. "Not everything goes perfect every time you go out there. You've just got to find a way to get through it and unfortunately we didn't do it tonight."
Atlanta dropped 1½ games behind first-place Washington in the NL East. Miami, which is eight games out, moved into a tie with the New York Mets for third.
Marlins closer Steve Cishek earned his 24th save in 27 chances, retiring Freddie Freeman, Justin Upton and Jason Heyward on fly balls in the ninth.
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.
"As far as today, that one fastball I just left out over the plate," Alvarez said through an interpreter. "He handled it, but as far as my struggles against the Braves, it's just been coincidence."
The Marlins tied it 2-all in the fifth on Adeiny Hechavarria'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. .... Ozuna struck out eight times in the series.