MIAMI -- Julio Teheran said his 10-day layoff seemed more like a month, and the first inning upon his return lasted a long time, too.
Teheran (12-7) gave up three runs in the first inning, then none after that.
"The first inning I was feeling a little bit weird after the long rest," he said. "But my arm was feeling good. I was feeling good after that inning."
Mindful of October games to come for the NL East leaders, Braves manager Fredi Gonzalez decided to have Teheran skip a turn in the rotation.
"Anytime you give those guys a breather, maybe you don't see it the first start back, but I think you'll see it the next couple of starts and beyond," Gonzalez said. "That's what we want to do -- we want to pitch these guys beyond the next couple of starts."
Teheran allowed five hits, only three after the first, and struck out six. One run scored when shortstop Andrelton Simmons made a poor throw to first trying to complete a double play that would have ended the first inning.
Braves right fielder Justin Upton left the game in the fourth with a bruised right knee after fouling a ball off it. He said he might be back in the lineup Wednesday.
The pitch caromed off the backstop directly to McCann, who took advantage of the favorable bounce to start a 2-5-4 putout.
"An unfortunate bounce," Marlins manager Mike Redmond said.
"Awesome," Braves left fielder Evan Gattis said. "Just like we drew it up."
That gave Kimbrel his major league-leading 46th save in 49 chances. He has converted 36 straight opportunities.
"Biggest out of the game," Gonzalez said.
"I told Luis I was going to take him to dinner after that," Teheran said.
Atlanta went 3 for 16 with runners in scoring position, but Gattis had his third consecutive two-RBI game. Chris Johnson, who came into the game leading the NL in batting, drove in a run and had two singles for his 46th multi-hit game. His average rose to .330.
Stanton returned to the Marlins lineup after missing two games with a sore ankle, and he doubled home a run in the first. But Miami had only three hits after the opening inning.
"We've seen that before," Redmond said. "We come out and score, then get shut down. I'm not sure how that happens, but it's happened a lot."
Tom Koehler (3-10) allowed four runs in five innings. He's 0-4 in his past seven starts.
The Marlins must go 10-9 the rest of the way to avoid a 100-loss season.
"It's embarrassing when you lose 100," veteran Chris Coghlan said.
Miami fell to 19-30 in one-run games.
Gattis and Brian McCann hit back-to-back two-out RBI doubles in the first for a 2-0 lead that didn't last long. Gattis and Johnson had RBI singles in the third to put the Braves ahead to stay.
Atlanta OF Reed Johnson (left Achilles tendinitis) was activated from the DL before the game. ... Braves reliever Jordan Walden (groin) threw a bullpen session Tuesday and said he felt good afterward. Barring a setback, he will be available to pitch beginning Thursday. ... Tentative schedules for 2014 were released Monday, and the Braves will open the season at Milwaukee on March 31. The Marlins will open at home March 31 against Colorado. ... Marlins LHP Bryan Flynn will make his second major-league start Friday against the Mets and likely remain in the rotation after that. Struggling RHP Jacob Turner's next start will be pushed back to Sunday.