Braves 4, Marlins 3: Julio Teheran settled down after a shaky start and Evan Gattis drove in two runs as visiting Atlanta won its second straight from Miami.Brian McCann and Chris Johnson each added a RBI and Craig Kimbrel recorded his major league-best 46th save for Atlanta, which trimmed its magic number to clinch the National League East to seven and remained 12 games ahead of Washington. Teheran (12-7) allowed three first-inning runs, then retired 14 of the next 15 hitters en route to allowing three runs on five hits in 6 2/3 innings.Miami starter Tom Koehler (3-10) surrendered four runs on eight hits in five innings. Ed Lucas finished with two hits and Giancarlo Stanton drove in a run in his return from a sore ankle.Gattis and McCann laced back-to-back doubles off Koehler in the first to make it 2-0 Atlanta. Stanton's run-scoring double to left, Logan Morrison's RBI-single and Donovan Solano's fielder's choice in the bottom half pushed the Marlins ahead 3-2.Gattis tied the game in the third with a run-scoring single to center, and Chris Johnson's bloop single to right later in the frame scored Freeman to give the Braves a 4-3 advantage. Luis Ayala struck out Stanton on three pitches with the bases loaded to end the seventh, and pinch-runner Jake Marisnick was caught in a rundown between second and third base following a Kimbrel wild pitch in the ninth to end the game.GAME NOTEBOOK: Atlanta OF Justin Upton left the game after fouling a pitch off his right knee in the fourth. … Kimbrel converted his 36th consecutive save opportunity, and his 46 saves this season match his career high set in 2011. … Miami C Jeff Mathis did not play after bruising his right thumb on a wild pitch Monday.