ST. LOUIS -- Rookie Shelby Miller worked seven innings of three-hit ball, Matt Carpenter and Carlos Beltran each homered and the St. Louis Cardinals beat the Atlanta Braves for the third straight time, 6-2 Saturday night.
Freddie Freeman homered for the NL East-leading Braves, who totaled five runs while dropping three in a row for the first time since July 3-5. Julio Teheran (10-7) allowed a season-worst five walks and was charged with four runs.
Miller (12-8) worked more than six innings for the first time in 13 starts since June 1. He struck out six without walking a batter while pitching with no more than a one-run cushion against a fellow 22-year-old right-hander. Center fielder Jon Jay made a leaping catch at the wall to rob Brian McCann of at least extra bases in the seventh.
REDS 6, BREWERS 3
CINCINNATI -- Ryan Ludwick hit his first homer since last October, another indication his swing is coming around, and Zack Cozart had a tiebreaking two-run shot, powering the Reds to a victory over the Brewers.
The Reds had four homers among their 14 hits while evening their series at a game apiece. Cincinnati has won 13 of its last 18 overall, tightening the NL Central race.
Bronson Arroyo (13-9) won his fourth straight start by allowing three runs, including Caleb Gindl's pinch-hit homer leading off the eighth. The right-hander hasn't walked a batter in his last 29 2-3 innings.
Aroldis Chapman pitched the ninth for his 33rd save in 38 chances. The left-hander hit a batter and fanned three with a fastball that repeatedly registered 102 mph.
Ludwick and Cozart connected in the sixth inning off John Axford (6-7), who failed to hold a 2-1 lead. Joey Votto added his 19th homer an inning later off Michael Gonzalez, and Cozart singled for his third RBI.
MARLINS 3, ROCKIES 0
MIAMI -- Rookie Jose Fernandez struck out eight in seven innings, leading the Marlins to a win over the Rockies.
Fernandez (10-5) allowed four hits and did not walk a batter as he lowered his ERA to 2.30. Fernandez has been one of the best pitchers in the Majors since June 1, compiling a 1.52 ERA and 112 strikeouts in 15 starts.
Todd Helton had two hits for the Rockies to move into 96th place on the career hit list with 2,496 in 17 seasons, all with Colorado.
The Marlins scored three runs in the fourth off Jeff Manship (0-4).
GIANTS 6, PIRATES 3
Tim Lincecum pitched into the sixth inning after two rocky starts for his first win in more than two weeks. The former two-time NL Cy Young winner walked four but struck out eight and pitched out of trouble in back-to-back innings before giving way to the bullpen.
The Giants did most of the damage in the first inning when they batted around and scored four times off Pirates starter Francisco Liriano (14-6).
Tony Sanchez hit his first career home run for Pittsburgh, which dropped into a first-place tie with St. Louis in the NL Central.
CUBS 3, PADRES 2
In his second straight solid outing, Samardzija (8-11) limited the damage to one run in the eighth inning when the Padres twice loaded the bases and cut the lead to one run.
Samardzija allowed two runs on seven hits. The right-hander struck out seven and walked two.
The light-hitting Barney, who had three hits, connected for a solo shot in the fifth inning and added a go-ahead RBI double in the Cubs' two-run seventh.
TIGERS 3, METS 0
Scherzer (19-1) joined Rube Marquard in 1912 and Roger Clemens in 2001 as the only major league pitchers to win 19 of their first 20 decisions in a season.
Andy Dirks had three hits off Harvey (9-5), who gave up a career-high 13 against Detroit's powerful lineup. He pitched out of trouble to keep the Mets in the game, but they lost for the fifth time in his last six starts.
Missing injured slugger David Wright, the Mets have managed only two runs during a three-game skid. They were outhit 15-3 in this one.
RED SOX 4, DODGERS 2
LOS ANGELES -- Jon Lester pitched three-hit ball into the eighth inning, Jonny Gomes' three-run homer capped a four-run first, and the Red Sox beat Los Angeles, snapping the Dodgers' four-game winning streak.
The Red Sox began the day percentage points behind Tampa Bay for first in the AL East. They won at Dodger Stadium for the first time in five games dating to their first visit in 2002, when they were swept in three games.
Lester (12-7) gave up one run in 7 1-3 innings, struck out six and walked four.
Koji Uehara got the final four outs to earn his 13th save in 16 chances.
Copyright 2013 by The Associated Press
This story is from ESPN.com's automated news wire. Wire index