Jason Heyward and Freddie Freeman homered for the Braves, who have won the first two games in the series and nine of 13.
Atlanta moved within 6 1/2 games of first-place Washington in the NL East. The Braves began the game with a seven-game lead over third-place Los Angeles in the NL wild-card race.
Braves closer Craig Kimbrel earned his 36th save in 39 ties after striking out the side.
Eric O'Flaherty (3-0) faced the minimum in the eighth for Atlanta, extending his scoreless innings streak to 19 1-3 innings, a span of 22 games.
Mattheus (5-2) allowed one hit, one walk, two walks and no strikeouts.
PIRATES 7, CUBS 6
CHICAGO (AP) — Andrew McCutchen homered and reached base four times, and the Pirates held off a late rally to snap a seven-game losing streak with a win over the Cubs.
Wandy Rodriguez (11-13) held Chicago to three runs — one earned — in helping the Pirates stop their free-fall in the NL playoff race. Pittsburgh had lost 17 of 22, yet was just three games behind St. Louis for the second NL wild-card slot entering the day.
Rodriguez is 3-0 with a 1.40 ERA over his last four starts after struggling initially upon being acquired mid-season from Houston.
McCutchen launched Jason Berkin's pitch off the rear fence behind the left-field bleachers leading off the third, his 28th round-tripper of the season. He also singled and walked twice, improving to .394 in 27 career games at Wrigley Field.
MARLINS 6, REDS 4
MIAMI (AP) — Carlos Lee homered and drove in three runs to help the Marlins beat the Reds.
Mark Buehrle (13-12) allowed four runs on seven hits over 7 2-3 innings to improve to 4-1 in his last six starts. Jose Reyes had three hits and also drove in a run for Miami.
Johnny Cueto (17-9) suffered his third straight loss and failed to last five innings for the second straight start. Cueto gave up six runs on nine hits in 4 1-3 innings, and hasn't won since August 28 at Arizona. Ryan Ludwick homered for the Reds in the eighth to make it 6-4.
Steve Cishek pitched a scoreless ninth for his 14th save in 18 opportunities.
GIANTS 3, DIAMONDBACKS 2
PHOENIX (AP) — Buster Posey had a two-run home run in the fifth to help the Giants beat the Diamondbacks.
Barry Zito scattered six hits and one run over 6 2-3 innings for the Giants, who have won four straight and 22 of their past 32. Zito (12-8) walked one and struck out four. Sergio Romo pitched the final 1 1-3 for his 11th save.
Justin Upton hit his 14th home run for the Diamondbacks, who have scored four runs or fewer in 12 straight home games to match a franchise record.
Arizona starter Wade Miley (15-10) allowed three runs on eight hits and a walk over seven innings.
Posey broke a 1-all tie in the fifth with a two-out home run two rows deep into the right-field stands. The All-Star catcher is hitting .390 in 55 games since the All-Star break with 12 homers and 49 RBIs.
ASTROS 5, PHILLIES 0
HOUSTON (AP) — Dallas Keuchel pitched five-hit ball into the sixth inning and the Astros beat the Phillies and avoided their 100th loss of the season.
The Phillies were slowed in their surge for an NL playoff spot for the second time in three games by the worst team in the big leagues. Philadelphia entered the day three games behind St. Louis for the final wild-card spot. The Cardinals played the Dodgers later Saturday.
Kyle Kendrick (9-11) struggled early and was done after just five innings, his shortest outing in more than a month. He gave up four runs on seven hits, including a two-run homer to Justin Maxwell.
BREWERS 9, METS 6
MILWAUKEE (AP) — Rickie Weeks hit a two-run homer during a five-run fourth inning to lift the Brewers to a win over the Mets.
Trailing 4-1 in the fourth the Brewers rallied for five runs to win for the 19th time in 25 games and stay in the hunt for a wild card. The Mets lost for the ninth time in 11 games.
Weeks' homer capped the inning and was his 20th of the season. He also had a double, scored two runs and drove in three. Reliever Brandon Kintzler (2-0) pitched a scoreless fifth to get credit for the victory.
Jenry Mejia (0-1) pitched three innings in his first major-league start exactly two years after undergoing ulnar collateral ligament reconstruction surgery.
PADRES 4, ROCKIES 3
SAN DIEGO (AP) — Rookie Casey Kelly carried a shutout into the seventh inning and Jesus Guzman hit a three-run homer, leading the Padres to a win over the Rockies.
Kelly (2-1), making his fourth major league start, kept the Rockies off balance with a mixture of fastballs and curveballs. He allowed three runs — two earned — on seven hits over six-plus innings with six strikeouts.
Luke Gregerson pitched a perfect ninth for his eighth save in 12 chances.
Rookie Drew Pomeranz (1-9) allowed four runs on four hits in three innings with three strikeouts for Colorado.
DODGERS 4, CARDINALS 3
LOS ANGELES (AP) — Luis Cruz came up with his second clutch hit in two nights, a tying two-out RBI double in the ninth inning, and pinch-hitter Juan Rivera followed with a run-scoring single to lift the Dodgers to a victory over the Cardinals.
Jason Motte (4-5) came in trying to protect a 3-2 lead for Jaime Garcia and retired his first two batters. But Andre Ethier kept the Dodgers alive with a single and pinch-runner Dee Gordon stole second before Cruz drove him in with a drive that centre fielder Jon Jay barely missed on a diving attempt in front of the warning track.
Rivera batted for A.J. Ellis and lined a single off the tip of second baseman Daniel Descalso's glove, enabling pinch-runner Elian Herrera to score the winning run.