ATLANTA (AP) Adonis Garcia loves having a flair for dramatics in the late innings.
All four of Garcia's homers this year and nine of 14 in his career have either tied the game or given Atlanta the lead.
''I've had some good luck,'' he said. ''I'm just grateful for the opportunities and I'm grateful that those times they've worked out.''
Garcia hit a go-ahead, two-run homer off Addison Reed in the eighth inning and the Braves beat the New York Mets for the fourth straight time in a week, 4-3 on Thursday night.
Atlanta has improved the worst record in the NL by winning seven of eight. The Mets have lost four of six.
A.J. Pierzynski drove in two runs off Matt Harvey to boost the Braves, who posted a three-game sweep at Citi Field last weekend.
The Braves trailed 3-2 when Freddie Freeman opened the eighth with a single off Jerry Blevins. Reed (1-2) relieved with one out and, with catcher Travis d'Arnaud calling for a chest-high fastball on an 0-2 count, Garcia connected on a pitch that badly missed the target.
Jim Johnson (1-4) won in relief.
Arodys Vizcaino converted his 18th save in 21 chances. Pinch hitter Matt Reynolds walked, but Curtis Granderson flied out, Asdrubal Cabrera lined out and James Loney flied out to end it.
''We just kept battling,'' Braves manager Brian Snitker said. ''That's what won the game.''
Harvey gave up eight hits, two runs and struck out three, and labored at times. His season-long struggles after the third inning continued as he gave up a run in the fourth and sixth to increase his ERA in those frames to 7.65.
Harvey's fastball velocity hovered in the mid-90s mph, and he commanded it well most of the night before Sean Gilmartin replaced him to begin the seventh.
The right-hander still doesn't resemble the ace who dominated opponents in 2013 and `15, but he has a 2.25 ERA in his last five starts.
''It's definitely a struggle,'' Harvey said. ''I kind of went back to not feeling as a great as I did a couple of starts before this, but I was able to make some quality pitches when I needed to and guys made the plays behind me.''
Braves starter Matt Wisler allowed three runs on seven hits and a season-high four walks in 6 2/3 innings. His season ERA barely budged at 4.22.
''I've got to be better early on in the game, coming out and attacking the hitters,'' Wisler said. ''I'm not doing that right now. The offense picked us up today.''
Alejandro De Aza's RBI double put the Mets up 1-0 in the second. He had been hitless in his previous 20 at-bats.
New York took a 2-0 lead in the third on Neil Walker's sacrifice fly.
Nick Markakis doubled for Atlanta and scored on Pierzynski's RBI single in the fourth to make it 2-1.
Walker's RBI single put the Mets up 3-1 in the fifth. He had been in an 0-for-15 slump.
Pierzynski improved to 8 for 12 in his career against Harvey when his RBI double in the sixth made it 3-2.
New York saved a potential tying run in the seventh when left fielder Michael Conforto ended the inning by throwing out Emilio Bonifacio on one bounce to d'Arnaud.
Snitker challenged the play and after a review of nearly 2 minutes, he was ejected for arguing with crew chief Mike Everitt.
Mets: CF Yoenis Cespedes, out with a mildly sprained left wrist, missed the game after leaving Wednesday's win over Kansas City and having a cortisone shot. He hopes to return to the lineup Friday. ... RHP Noah Syndergaard left Wednesday's game early with discomfort in the back of his right elbow, but an MRI showed no structural damage. He's expected to make his scheduled start Monday at Washington.
Braves: OF Mallex Smith will be reevaluated next week to determine if surgery if necessary on his broken left thumb. Smith, likely to miss eight to 10 weeks, leads all rookies in the majors with 14 stolen bases and is third on Atlanta with 21 RBIs.
Mets: LHP Steven Matz (7-3) is 3-0 with a 1.80 ERA in four career starts against Atlanta.
Braves: RHP Aaron Blair (0-4) has a 7.19 in 10 career starts. He's 0-1 with a 4.76 ERA in two starts against the Mets.