The rookie right-hander struggled at the outset but settled down to pitch 6 2-3 innings and help the Atlanta Braves beat the Miami Marlins 4-3 on Tuesday night.
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.
Atlanta won with a walkoff rundown. Marlins pinch-runner Jake Marisnick made the final out trying to advance to third when Craig Kimbrel's fastball got past catcher Brian McCann.
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 consecutive opportunities.
After Teheran departed with a 4-3 lead in the seventh, the Marlins loaded the bases before Luis Ayala came on to strike out Giancarlo Stanton and end the inning.
"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.