Jordy Mercer was 2-for-2 with a double and a walk for the Pirates, making him 9-for-14 with four doubles in July. Pittsburgh won for the 12th time in its last 16 games.

Marlins 5, Cardinals 4

ST. LOUIS -- Miami was down to its final strike on Saturday but still had enough to come back and beat St. Louis.

The Marlins were trailing 5-4 before Casey McGehee capped an 11-pitch at-bat with a single to right to score Donovan Solano from first base to tie it, and McGehee later scored on a pinch-single by Jeff Baker.

The Marlins claimed their 15th comeback victory this season but their first when trailing after eight innings. They had been 0-38 in those situations before Saturday.

Nationals 13, Cubs 0

WASHINGTON -- Gio Gonzalez won his third straight start with eight scoreless innings and Ryan Zimmerman had four hits and three RBIs as Washington erupted for six runs in the third inning against Chicago.

The Nationals won for the sixth time in seven games and are a season-high eight games above .500.

Jayson Werth and (three RBIs) and Anthony Rendon (two RBIs, three doubles) banged out three hits and Ian Desmond (two RBIs) and Wilson Ramos added two hits for the Nationals, who smashed out 19 hits, including eight doubles but no homers.

Rays 7, Tigers 2

DETROIT -- Kevin Kiermaier had two triples to drive in three runs, Logan Forsythe hit a home run and beat out a squeeze bunt for an RBI single and Chris Archer checked Detroit on six hits in 8 1/3 innings to help Tampa Bay hand the Tigers their second straight loss.

Archer (5-5) kept Detroit scoreless until Alex Avila hit his sixth home run of the season, with two outs in the seventh inning.

Archer also made two special defensive plays, spearing a line drive to center hit by Austin Jackson in the eighth and snagging a bullet ground ball by J.D. Martinez to end the sixth. Archer walked four and struck out four in his first complete game this year and third of his career.

Braves 10, Diamondbacks 4

ATLANTA -- After spotting Arizona three runs in the first inning, Atlanta stormed back to extend their winning streak to nine games.

Justin Upton's two-run homer in the sixth inning broke a stretch of 47 innings without a homer by the Braves and was only their third during the winning streak. Andrelton Simmons, who made two first-inning errors, matched his career high with four RBIs, and Freddie Freeman had a double and triple as part of the Braves' 14-hit attack.

Aaron Harang (8-6) needed 30 pitches as Arizona batted around in the first inning but steadied from there to work eight innings. He allowed nine hits and four runs (three earned).

Brewers 1, Reds 0

CINCINNATI -- Matt Garza tossed his fourth career complete-game shutout and Aramis Ramirez drove in the lone run with an RBI single in the first inning, lifting Milwaukee over Cincinnati.

The Reds were shut out for the 10th time this season as the Brewers snapped a four-game losing streak.

Garza (6-5) baffled the Reds, allowing just two hits despite entering the game with a 5.45 ERA against them in seven career starts. Reds starter Homer Bailey gave up two hits in the first inning, including Ramirez's two-out RBI single that put Milwaukee ahead 1-0.

Twins 2, Yankees 1, 11 innings

MINNEAPOLIS -- Backed by a quality start from Yohan Pino and five scoreless innings of relief, Minnesota snapped a seven-game home losing streak to New York.

Josh Willingham scored the winning run on an errant throw in the 11th inning by Yankees catcher Francisco Cervelli.

Pino gave the Twins their first quality start of the series, going six innings and allowing one run and three hits and striking out three. It was Pino's first-ever start against the Yankees. The 30-year-old rookie entered the game 0-2 with a 6.32 ERA in three appearances for the Twins.