The Braves took the lead when Ozzie Albies tripled against Chicago reliever Carl Edwards Jr. (2-1) and scored on a single by Ronald Acuna Jr. After a single by Freddie Freeman and an intentional walk to Nick Markakis, the Braves got walks from Tyler Flowers and Johan Camargo to push across the insurance runs.
Edwards issued the first bases-loaded free pass, and Justin Hancock was responsible for the second.
Atlanta closer Arodys Vizcaino, who blew a save and took a loss against Chicago on Tuesday, worked a perfect ninth inning and recorded his eighth save. A.J. Minter (2-0) pitched a scoreless eighth inning and earned the victory.
Neither starting pitcher was involved in the decision.
Atlanta's Brandon McCarthy allowed one run in six innings on five hits and two walks. He struck out a season-high eight. It was a nice bounce-back for McCarthy, who had been roughed up for a total of 14 runs in his previous two starts after allowing only 13 runs in six starts during March and April.
Chicago's Tyler Chatwood pitched 5 1/3 innings and allowed one run on four hits and two walks with a season-low two strikeouts. It was the sixth time in eight starts that Chatwood allowed two runs or fewer.
The Braves scored a run in the first inning when Freeman slapped a single to right that scored Albies.
Albies, Acuna and Freeman each had two hits, accounting for six of the team's seven hits.
The Cubs evened the score at 1-1 in the fifth inning. Kris Bryant singled to left field to score Ian Happ, who had hit a leadoff single and advanced on a sacrifice. Bryant went 3-for-4 and is 13-for-33 (.394) in his past nine games.
It was the first loss for Chicago at SunTrust Park. The Cubs were trying to go 5-0 in a new park for the first time since 1977, when they started 6-0 at Montreal's Olympic Stadium.
--Field Level Media