ATLANTA (AP) -- Justin Upton is having quite a month.
With 28 RBIs in 25 games since Aug. 1, Upton considers this to be the best month of his eight-year career. It's helped give him a career-high 91 RBIs this season, three more than he had in 2011 with Arizona.
''Yeah, the guys on front of me have been getting on base, and I've been fortunate to get some hits,'' Upton said. ''As far as run producing, it's probably been the best.''
The Braves, winners in 10 of 14, began the night 1 1/2 games back in the NL wild-card standings, but are just 19-21 since the All-Star break.
Andrelton Simmons led off the seventh against Chris Hatcher (0-2) with a bunt single and advanced to third on pinch-hitter Ramiro Pena's single.
Simmons scored on Heyward's RBI single off Mike Dunn to give the Braves a 3-2 lead. Upton's RBI single off Sam Dyson drove in Heyward from second and Emilio Bonifacio also scored to make it 5-2 when center fielder Marcell Ozuna misplayed the ball.
It was a good example of the Braves trying to manufacture a run instead of taking their usual free-swinging, strikeout-prone approach.
''We're going to have to do that if we're going to win,'' Upton said. ''Every night's not going to be a three-run homer. We're going to have to find ways to scratch runs across. We did that tonight.''
Jordany Valdespin tied it at 2-all in the Miami seventh with a pinch-hit homer, the seventh of his career, off reliever David Carpenter (5-3).
Braves starter Ervin Santana allowed one run, five hits, four walks and struck out seven in six innings.
Marlins starter Tom Koehler walked Freddie Freeman to begin the sixth and gave up Upton's 26th homer, a long shot deep into the seats in left-center, for a 2-1 Atlanta lead.
''I just got a good pitch to hit,'' Upton said. ''In that situation I was just trying to get on base behind Freddie and squared it up.''
Koehler gave up two runs and four hits with three walks and six strikeouts in six innings.
The Marlins have dropped three straight and five of six.
Santana needed 32 pitches to finish the first inning, walking three straight batters to load the bases, but escaped the jam by striking out Garrett Jones on three pitches and retiring Marcell Ozuna on a flyout.
In the sixth, Ozuna doubled into the right-field corner off Santana, scoring Casey McGehee from second to make it 1-0, but Garrett Jones was thrown out at the plate on second baseman Tommy La Stella's relay throw to catcher Evan Gattis.
''When you talk about winning games this time of year, you've got to make plays,'' Marlins manager Mike Redmond said. ''The team that makes plays and gets big hits wins ball games.''
Marlins: Redmond said that RHP Dan Jennings, out since Aug. 8 with a concussion, was making a rehab start Friday and could rejoin the team soon.
Braves: LHP Jonny Venters, who last pitched in 2012, said that he will undergo elbow ligament replacement surgery for the third time and added that ''it never crossed my mind'' to retire.
Marlins RHP Jarred Cosart (11-8) beat the Braves 6-1 on June 26 while pitching for Houston.
Braves RHP Aaron Harang (10-8) is winless with a 5.18 ERA in four starts this year and 5-5 with a 5.99 in 17 career starts against the Marlins.
Closer Craig Kimbrel, the fourth Atlanta pitcher, earned his 40th save in 44 chances after facing the minimum in the ninth. ... Upton went 2 for 4 and is hitting.307 with 10 homers and 45 RBIs in his 52 games since the start of July. ... The Braves improved to 69-44 dating back to last season with Heyward batting leadoff.
Atlanta 1B Freddie Freeman went 0 for 3 and his hitting .056 in 54 at-bats against the Marlins this season. ... Jones dropped to 1 for 12 with the bases loaded this year. ... Braves CF B.J. Upton was out of the lineup for the fourth time in seven games. After hitting a modest .255 in 98 at-bats in July, he's hitting .115 in August.