B.J. Upton's sacrifice fly in the second inning gave Atlanta an early advantage, but with two on and two out in the bottom half due to a single and an error, Marlins catcher Rob Brantly hit a three-run homer off the right-field foul pole to catapult Miami into the lead. Atlanta would've been in an even deeper hole had Teheran not picked off Logan Morrison at second base in that inning.
Atlanta would tie the score against Henderson Alvarez the very next inning on Justin Upton's RBI double, scoring Jason Heyward from first, and Brian McCann's sacrifice fly. Miami, though, would reclaim the lead yet again in the bottom of the third on Logan Morrison's RBI single.
Alvarez ran into trouble again in the fourth with two on and one out, but escaped when Chris Johnson was thrown out at home on a fly ball to center. He couldn't wriggle out of the fifth unscathed, however. Justin Upton led off with his second double of the game and scored on McCann's single to left, tying the game at four.
Atlanta would take the lead for good in the sixth when, with B.J. Upton at second, Teheran hit a soft ground ball down the third-base line; the pitcher Alvarez picked the ball and threw wide of first base, allowing B.J. to score uncontested.
Justin Upton added one more run to Atlanta's tally with a long home run to left-center in the seventh off reliever Ryan Webb, his first homer since June 12.
Teheran allowed seven hits in his 7.1 innings, striking out three.