Teheran (3-1) retired his first 12 batters before Ryan Howard led off the bottom of the fifth with an infield single. The 23-year-old righty struck out four and got 14 outs on flyballs in his first complete game in 38 career starts. He became the ninth Braves starter in the first 14 games this year to allow one run or none.
"The cold didn't bother me," Teheran said after breezing through the lineup on a night when it was only 47 degrees at first pitch. "When it's cold, I try to focus even more and not pay attention to the weather."
As for beating a former Cy Young Award winner, Teheran said: "I don't pay attention to who I'm pitching against."
Philadelphia wasted an excellent outing by Lee (2-2). The ace left-hander struck out 13 and pitched around 11 hits in a complete game, throwing a career-high 128 pitches.
Lee, according to the Elias Sports Bureau, is the second pitcher since 1900 to have two losses with at least 13 strikeouts and one run or fewer allowed in each game. The other is Big Ed Walsh (also had two).
He also became the first pitcher to get at least 13 strikeouts and allow 11 hits since Randy Johnson in 1997.
Gattis drove an 0-2 pitch into the left-field seats in the fourth. It was his fifth homer in his last three games at Citizens Bank Park.
"I was just trying to put the ball in play," Gattis said.
Lee, a prolific strike-thrower, often gets hurt on 0-2 pitches. He entered the game with five hits allowed, including two doubles, among a dozen 0-2 pitches.
"I'm going to allow hits 0-2 and I'm going to get outs 0-2," Lee said. "I hope I get every hitter in that situation."
After the slow-footed Howard reached on a slow roller toward second base that was fielded by shifted third baseman Chris Johnson, Teheran retired the next 11 batters before Carlos Ruiz lined a single to left with two outs in the eighth. Jimmy Rollins hit a single with two outs in the ninth.
Rollins stole second on a 3-0 pitch to Chase Utley. But Utley following with a game-ending groundout.
"Teheran mixed speeds on his fastball, had different movement on his speed and mixed in his other pitches," Phillies manager Ryne Sandberg said.
Pitchers certainly had the advantage against bundled-up hitters.
"Both pitchers were unbelievable," Braves manager Fredi Gonzalez said. "Lee was excellent. The homer just got over the fence. Teheran was terrific. He was dominating."
It was the first 1-0 game that featured two complete games since Seattle beat Minnesota 1-0 on Aug. 27, 2012. Felix Hernandez got the win for the Mariners over Liam Hendricks.
It also was the seventh time in Lee's career that his team has come out on the losing end of a 1-0 game, which is tied with CC Sabathia, Zack Greinke and A.J. Burnett for the most among active pitchers, according to ESPN Stats & Information. Three of those losses have come since joining the Phillies.
The series resumed after Tuesday night's rainout, which will be made up in June. The Braves rallied for a 9-6 win Monday night when Dan Uggla hit a ninth-inning grand slam off fill-in closer Jake Diekman.
Braves closer Craig Kimbrel is day to day with shoulder discomfort. ... Utley was 0 for 4, ending his 11-game hitting streak. ... Gattis was 0 for 6 with four strikeouts vs. Lee before his four hits. ... Lee has 29 career double-digit strikeout games. ... The Phillies signed LHP Adam Loewen to a minor league contract and assigned him to extended spring training. Loewen spent the last five seasons playing first base and outfield in the minors. ... Atlanta's starters haven't allowed more than three earned runs in any of the first 14 games. ... LHP Cole Hamels is moving closer to returning to Philadelphia's rotation next week. Hamels was slowed by a shoulder problem in spring training. ... A.J. Burnett (0-1) tries for the fourth time to win his first game with the Phillies in Thursday afternoon's series finale. LHP Alex Wood (2-1) goes for the Braves.
The Associated Press contributed to this report.