ATLANTA -- With a runner on second and first base open, the Cubs played it by the book and walked Justin Upton.
Even before leaving the batter's box, Upton flashed a grin to Freddie Freeman, who also grinned as he waited on-deck. They seemed to know what was coming.
Freeman said he savored the opportunity when the Cubs walked Upton.
"It puts a smile on my face," Freeman said. "I don't know if you saw on TV, but after the second, third and fourth pitches Justin and I were kind of just laughing at each other. It kind of fires you up, if you're not fired up already.
"When they walk someone intentionally to get to you, it definitely lights a fire under your butt."
Chris Johnson, whose two-run single in the third inning gave Atlanta a 2-1 lead, said facing Freeman with the game on the line is a dangerous strategy. Freeman, who had three hits, is hitting .321.
"I think Freddie is the best hitter in the National League," said Johnson, who had three hits.
Wesley Wright (0-1) walked Heyward to lead off the 10th. Heyward stole second base, setting up Wright's intentional walk to Upton.
Braves manager Fredi Gonzalez said he knows Cubs manager Rick Renteria faced a tough decision.
"You've got to pick your poison," Gonzalez said.
Freeman ended the game with his single. Heyward slid home with the winning run as Ryan Kalish's throw from center field was off target.
Luis Valbuena led off the 10th with a single to right field off Alex Wood (3-5), who then recorded three straight outs in his first relief appearance of the season. The Braves announced before the game Wood was moving to the bullpen for one week.
The Braves earned only their second win in their last 10 games. The Cubs, last in the NL Central, have lost five of six but took some solace in the ninth-inning comeback off Kimbrel.
"All in all, I take away we fought a pretty good battle, but we just fell a little short," Renteria said.
Olt led off the third inning with his seventh homer to give Chicago a 1-0 lead. Teheran retired 17 consecutive batters after the homer.
Chris Coghlan led off the ninth with a single off Kimbrel. Coghlan moved to second on Emilio Bonifacio's groundout and scored on a single to left by Kalish, who advanced to second on Justin Upton's fielding error. Kalish moved to third on Anthony Rizzo's grounder to first. Kimbrel walked Starlin Castro before ending the inning on another grounder by Nate Schierholtz.
"There's definitely a lot of fight in this team," Olt said. "As long as we keep fighting we're going to find a way to come up with some wins."
Teheran began the night fifth in the majors with a 1.80 ERA and he lowered the mark to 1.71. He had a season-high nine strikeouts with two walks.
Kimbrel suffered his second blown save in 11 chances.
Chicago's Jason Hammel allowed two runs on seven hits and one walk in seven innings.
The Braves' only runs against Hammel came on a string of three straight two-out hits in the third. Freeman and Evan Gattis singled, Gattis moved to second on a wild pitch and Johnson drove both runners in with a single to left field.
The start of the game was delayed 18 minutes by rain. ... Johnson capped his big night with an eighth-inning single before stealing second -- his first stolen base since 2012 and only the 11th of his career. ... Wood had been scheduled to start Sunday against the Cubs. Instead, RHP Aaron Harang will make Sunday's start. Gonzalez said Wood will be back in the rotation on May 17 against St. Louis. ... The series continues on Saturday night when Braves RHP Ervin Santana faces Cubs RHP Jeff Samardzija.
Arenado, Story power Rockies past Padres, 10-8
Nolan Arenado hit his 40th home run and Trevor Story connected twice to lead the Colorado Rockies past the San Diego Padres 10-8 on Friday night.
Why September return of Nick Markakis could be Braves' October difference-maker
After missing nearly two months, the veteran outfielder wasted no time showing how his presence boosts Atlanta's chances of a long postseason stay.
Marlins' Cooper leaves game with knee contusion
Miami right fielder Garrett Cooper left the Marlins' game Friday night against the San Francisco Giants with a left knee injury after making a sliding catch on leadoff man Mike Yastrzemski's fly ball in the bottom of the first.
2019 MLB playoff tracker: Who has clinched a postseason spot and who could be next?
Here's which teams at the top of the standings could punch their October tickets soon and how the playoff field looks right now.
Bichette's home run in 12th leads Blue Jays over Yanks 6-5
Bo Bichette hit his first game-ending home run, a 12th-inning drive that gave the Toronto Blue Jays a 6-5 win over the New York Yankees on Friday night.
Davis hits 2 HRs, A's top Rangers 14-9, keep wild-card lead
Khris Davis homered twice, Ramon Laureano connected on the game's fourth three-run shot to break a tie in the sixth inning and the Oakland Athletics stayed in front in the AL wild-card race with a 14-9 victory over the Texas Rangers on Friday night.