The Cubs opened a 2-1 lead in the third on Jorge Soler's two-run single, but the Braves tied the game in their half on Nick Markakis' RBI double. Atlanta loaded the bases in the eighth, and Perez lined the first pitch from Pedro Strop to right for the game winner.
"I know he's had some rough performances but I think this guy's outstanding," Cubs manager Joe Maddon said of Strop. "Stuff-wise, he's got premier stuff, there's no doubt in my mind."
"He was awesome," Cubs starter Kyle Hendricks said of Schwarber. "He's very mature for a 22-year-old kid. He's got some stuff to learn, but so do I."
MOMENTS THAT MATTERED KJ "the guy": Just a few hours after talking about how Freddie Freeman was "the guy" for the Braves offense, Kelly Johnson proved to be the difference maker Friday, driving in Atlanta's first run of the game on an RBI single and then setting up the decisive two-run eighth inning with a one-out double. Johnson finished the night 2-for-3 with a run and an RBI and is hitting .400 (12-for-30) in his last 10 games. More >
Short start at home:Julio Teheran extended his consecutive home scoreless inning streak to 16 innings before surrendering two runs in the third. He battled command of his fastball throughout the entire outing, which was the shortest start he has had this season at Turner Field. Teheran finished with 90 pitches -- just 54 of them for strikes -- and three walks over 4 2/3 innings.
"That's something that I can't control," said Teheran about getting pulled in the fifth inning. "I'm not going to lie, obviously I was surprised because I was competing right there and that's what I can do when I got in trouble like I did in the first inning. Just one mistake that I made, and you know how this game is, you pay for it."
On a streak: Hendricks' scoreless innings streak ended quickly. The right-hander entered with a 22 1/3-inning scoreless streak dating back to the fourth inning on June 24 against the Dodgers, and it was over in the Braves' first when Johnson hit an RBI single. It was the longest scoreless streak by a Cubs pitcher since Ryan Dempster's 33-inning run in June to July 2012, and the second-longest active streak behind the Dodgers' Zack Greinke's 35 2/3-inning stretch.
"I was just trying to get a win for the first one back," Hendricks said, dismissing the scoreless inning streak. "It would've been nice to get this 'W' and get off on the right foot. It was a tough game, close game. We've had a lot of them."
Clutch hitting: The Cubs went 0-for-3 with runners in scoring position in the first inning, stranding two. In the third, they loaded the bases with two outs, and Soler lined a single to center to drive in a pair. However, Soler was a little too aggressive on the base paths and easily thrown out at second base to end the inning.
"We did not take advantage of that [first inning]," Maddon said. "You never know what to expect immediately [after the break]. Sometimes it's just about feel. It's just one game. ... We do have to become more offensive, there's no question."
"There was nothing that I was watching that made me feel good about that at-bat right there. It's tough, I mean here's your starter, only five innings, but you know 4 2/3 with [runners on] first and second and [Anthony] Rizzo at the plate. It was one of those situations where you have to make a decision. And it worked well for us." -- Gonzalez on his decision to pull Teheran for Ross Detwiler in the fifth inning
SOUND SMART WITH YOUR FRIENDS
Prior to the game, the Braves extended Gonzalez's contract through the 2016 season with a club option for '17. Gonzalez's deal was to expire at the end of this season. More >
With one out in the bottom of the fifth, Braves pinch-hitter Jonny Gomes hit a grounder to shortstop Starlin Castro, who bobbled the ball briefly and then threw to first. Gomes was called safe, but Cubs manager Joe Maddon challenged the call and after a review, it was overturned. It worked in the Cubs' favor as Jace Peterson followed with a double.
In the bottom of the seventh, Peterson walked with one out and was called out after a pickoff throw from pitcher Hector Rondon. Atlanta challenged the call, and after a review, the call stood, and Peterson was out.
WHAT'S NEXT Cubs:Jon Lester finished the first half with his sixth straight loss, and is winless in his last 10 starts since May 16. He hasn't gotten much support as the Cubs have scored three runs in his last six outings. He's 2-2 with a 3.60 ERA in four career starts vs. the Braves, and faced them twice last year. First pitch is scheduled for 6:10 p.m. CT at Turner Field.
Braves: Atlanta counters with rookie left-hander Manny Banuelos, who has posted a 0.75 ERA in his first three Major League starts. This could easily be his last start of the season though, as Banuelos is looking at an innings limit this season after recovering from Tommy John surgery and throwing just 76 1/3 innings in 2014. First pitch is scheduled for 7:10 p.m. ET.
Carrie Muskat is a reporter for MLB.com. She writes a blog, Muskat Ramblings. You can follow her on Twitter @CarrieMuskat and listen to her podcast. Carlos Collazo is an associate reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.