CHICAGO – After Chris Johnson's three-run, third-inning homer pushed the Braves' lead to 7-0, it looked as if Julio Teheran and Co. might breeze through an easy afternoon at Wrigley Field in the last game before the All-Star break.

Ah, but anything can happen and often does when a breeze is swirling at the 100-year-old ballyard on the North Side, and the Braves gave manager Fredi Gonzalez a little late-innings consternation before he headed to Minneapolis with three Braves All-Stars – including Teheran — for Tuesday’s Midsummer Classic.

But after a 10-2 lead was whittled to a three-run margin by the Cubs’ five unanswered runs in the seventh and eighth innings, Craig Kimbrel pitched a perfect ninth inning to close out a 10-7 win that gave the Braves a series victory and 52-43 record at the break.

“These last two games we’ve been pretty productive offensively,” left fielder Justin Upton said after the Braves outscored the Cubs 21-13 to win the last games of the series. “And that’s kind of what’s been lagging behind for us, is being able to put up runs. So if we can match our pitching with some good offense, I think we’ll be alright.”

They are tied with Washington atop the National League East standings, and for all their inconsistencies through the season’s figurative first half, the Braves are only two games behind their record through 95 games last season (54-41) when they were en route to winning the division title.

Another encouraging sign: They had 11 hits and 10 runs Sunday without getting any of either from Freddie Freeman (0-for-5), whose individual performance has too often been the biggest determining factor in whether the offense produces.

“Seems like every single day there’s a (critic who says), ‘Braves are going to do this, Braves are going to do that, Braves are falling and collapsing,’” Freeman said. “And here we are, tied for first going into the second half. We’re playing good baseball. Nice to get a little two-game winning streak going into the break.”

Teheran (9-6) bounced back from a bad start at New York last week to pitch seven solid innings, allowing seven hits, four runs and two walks with six strikeouts. All of the runs against him came on a pair of two-run homers by Arismendy Alcantara – the first of the highly regarded prospect’s career – in the sixth inning and Chris Coghlan in the seventh.

Teheran also had an RBI groundout on a chopper to third in the three-run second inning.

“I know that my last outing, I didn’t have a good outing,” said Teheran, who gave up 11 hits and five runs in 3 1/3 innings against the Mets, two days after being named to the All-Star team. “I just tried to come back like I did twice (after his other bad starts) this year, and that’s what I did today.”

Braves manager Fredi Gonzalez said: “He always seems to bounce back, and today he bounced back.”

Rookie Tommy La Stella had a two-out, three-run double in the seventh inning, Gerald Laird had a two-run double and a big defensive play, and Johnson had three hits including his three-run homer that gave him seven RBIs on three homers in consecutive wins — as many homers as he had hit all season before the series.

Johnson is 17-for-36 (.472) with four homers and 11 RBIs in his past nine games against the Cubs and has a .351 career average with eight homers and 25 RBIs in 40 games against them, including seven homers and 19 RBIs in 24 games at Wrigley Field.

“He’s swinging a hot bat,” Gonzalez said, then joked, “I’m sure he’s going to want to find a place to play during the All-Star break. You never want to stop when you’re playing like that.”

The Braves got seven runs on seven hits and three walks in six innings against Cubs left-hander Travis Wood (7-8), who began the day with a 3.08 ERA and .214 opponents’ average in eight home starts.

After cutting Atlanta’s lead to 7-4 on two homers against Teheran, the Cubs scored three runs against Braves relievers in the eighth, beginning with another alarming outing by left-hander Luis Avilan to leave him with a 4.85 ERA. Avilan gave up a leadoff single to Anthony Rizzo, then walked Starlin Castro and Luis Valbuena to load the bases with none out.

Gonzalez brought in Shae Simmons, who got a strikeout before the hard-throwing rookie walked a batter to bring in a run, the second bases-loaded walk he issued in the series.

“You don’t want to do that,” Gonzalez said of the eighth-inning walks. “This game is hard enough to get people out without giving free passes. I don’t know if it was a case where Avi hadn’t pitched in a while and was a little rusty. And then Shae coming in, we keep putting him in situations which are not ideal for a young pitcher to pitch in. But we have so much confidence in him that we keep running him out there.”

Jordan Walden replaced Simmons and the Braves recorded the second out when a bounced pitch got away from Laird and the veteran catcher retrieved it and made an off-balance toss to Walden, who tagged Castro. Walden gave up a two-run double to John Baker before getting the third out.

Kimbrel retired the side in the ninth on a strikeout and two fly outs for his 29th save in 33 chances. Left fielder Justin Upton recorded the second out on a nice leaping catch, hanging onto the ball after crashing into the unpadded, ivy-covered brick wall.

Asked if he was thinking that brick wall was padded, Upton smiled and said, “No, I was thinking I didn’t want to be out there much longer, I want to catch this ball.”