Gattis hit a two-run homer in the 10th inning after Teheran threw seven strong innings, leading the Braves past the Miami Marlins 4-2 on Monday night.
Dan Uggla led off with a single up the middle off Arquimedes Caminero (0-1). Gattis followed with a shot into the left-field seats for his fifth home run of the season -- and first career walk-off home run, though he had numerous big hits his rookie year.
"It feels good," Gattis said. "It feels different when you hit one and know the game is over."
Coming off his first career complete game, Teheran turned in another stellar performance by Atlanta's rotation, allowing only one run and five hits before he was lifted for a pinch-hitter. He actually lowered the cumulative ERA for Atlanta's starters, already the best in the majors, from 1.54 to 1.52.
"We're just trying to keep our team in the game," Teheran said. "We're doing a great job."
Craig Kimbrel failed to hold the lead, a second successive shaky outing for the closer who was yanked in his previous appearance when he couldn't get three outs in a non-save situation against the Mets. This time, Gattis contributed to the troubles -- called for catcher interference when a swing ticked his glove -- before pinch-hitter Derek Dietrich lined one off the wall in left-center for a game-tying double.
But, with runners at second and third and no outs, Kimbrel struck out the side to keep the game 2-2.
"I didn't do my job, but we came back to win the game," he said. "If we lose the game, it hurts a lot more."
Anthony Varvaro (1-0) worked a scoreless inning for the victory, first-place Atlanta's eighth in the past 10 games.
Garrett Jones hit a home run leading off the second for Miami's first run, only the ninth home run surrendered by the Braves.
Miami should have scored two runs on Deitrich's double, but pinch-runner Reed Johnson went back to tag at second base on a drive the Braves had no chance of catching. That caused Adeiny Hechavarria, running all the way from first, to slow up so he didn't pass Johnson. Hechevarria was held at third and never got any farther.
"I feel terrible," Johnson said. "That's the game right there."
Miami also squandered a chance in the eighth after Uggla botched a potential inning-ending double play. Second-base umpire Marvin Hudson initially called the runner out, ruling that Uggla caught the ball but dropped it attempting to make the relay throw to first.
Marlins manager Mike Redmond challenged. After a delay of nearly five minutes, the call finally came down from the replay center: all runners safe. The video showed Uggla making the catch, but losing control as he grabbed the ball with his right hand -- before he actually went into his throwing motion.
That left Miami with the bases loaded and only one out. But Walden fanned Casey McGehee on a called third strike and got Jones on a grounder to Uggla, who stumbled a bit just beyond the infield dirt but made the inning-ending play.
Braves LHP Mike Minor is getting close to rejoining the Braves rotation. After going six innings for Triple-A Gwinnett over the weekend, he'll throw a side session before Tuesday's game against the Marlins. If all goes well, Minor would likely make his first major-league start on Saturday against Cincinnati. ... Florida C Jarrod Saltalamacchia was back at Turner Field for the first time since he was traded by the Braves in 2007 in a much-debated deal that brought Mark Teixeira to Atlanta. Saltalamacchia expected to be a little emotional when he stepped on the field. "This is where it started with me," he said.