LOS ANGELES — Yasiel Puig turned a slow bouncer past the Mets’ diving shortstop into a one-out double in the 12th inning then scored on Adrian Gonzalez’s two-base hit, lifting the Los Angeles Dodgers to a 5-4 victory over New York on Wednesday night that extended their winning streak to eight games.
Andre Ethier tied the game with a two-run homer off LaTroy Hawkins in the ninth inning.
Puig legged out a double that glanced off the glove of shortstop Omar Quintinalla and into center field after going hitless in his first five at-bats. Gonzalez hit the next pitch off Pedro Feliciano (0-1) down the left field line, maintaining the Dodgers’ 7 ½-game lead over the Arizona Diamondbacks.
Paco Rodriguez (3-2) pitched 1 1/3 scoreless innings for the victory.
The Dodgers completed a three-game sweep of the Mets with their sixth walk-off win of the season.
Nationals 6, Giants 5
WASHINGTON — Denard Span made a diving catch in deep center field with two runners on base for the final out, and Washington held off San Francisco for its fifth straight victory.
Jordan Zimmermann (14-6) increased his NL-leading win total, allowing one run in seven innings and outpitching Tim Lincecum (6-12). Washington matched its longest winning streak of the season and moved within one victory of .500 for the first time since July 20.
The Giants scored once in the ninth off Rafael Soriano, and put runners on first and second with two outs. Hunter Pence hit a drive to left-center, and Span ran it down near the warning track to preserve the win.
Ian Desmond homered and Anthony Rendon had two RBIs in a five-run fourth inning that put Washington up 6-1.
REDS 5, CUBS 0
CHICAGO — Bronson Arroyo pitched seven crisp innings, Todd Frazier homered and the Reds beat the Cubs to complete a three-game series sweep.
Arroyo (11-9) allowed two hits, struck out seven and walked none in his second straight win. The crafty right-hander retired his first nine batters and faced the minimum through six innings.
The Cubs wasted a solid start by Chris Rusin (2-2) in their fourth straight loss. The left-hander allowed two runs and three hits while throwing just 76 pitches over six innings.
PIRATES 5, CARDINALS 1
ST. LOUIS — Francisco Liriano was dominant coming off the worst outing of his career and the Pirates got home runs from Pedro Alvarez and Garrett Jones in a victory over the Cardinals.
The win snapped a season-worst four-game losing streak and gave Pittsburgh a three-game lead in the NL Central.
Liriano (13-5) allowed four hits with six strikeouts and needed just 94 pitches to beat the Cardinals for the second time this year.
Matt Carpenter doubled and scored on a groundout by Carlos Beltran in the ninth to snap Liriano’s shutout bid. He settled for his second complete game of the year.
Alvarez hit his 29th homer an estimated 440 feet to straightaway center leading off the second against Shelby Miller (11-8), and with one out Jones lined his 11th over the right field wall estimated at 392 feet.
ROCKIES 4, PADRES 2
DENVER — Jorge De La Rose pitched seven solid innings, catcher Yorvit Torrealba completed a remarkable double play by tagging out two runners and the Rockies hung on to beat the Padres.
Corey Dickerson doubled twice, tripled and drove in two runs. Troy Tulowitzki had two hits and a pair of RBIs as Colorado completed a 5-1 homestand.
De La Rosa (12-6) allowed two runs on eight hits in running his record in eight day-game starts this season to 6-0 with a 1.57 ERA.
Andrew Cashner (8-7) gave up three runs on six hits in seven innings. He struck out seven and walked none.
BRAVES 6, PHILLIES 3
ATLANTA — Chris Johnson drove in three runs, Jason Heyward homered and Brandon Beachy pitched six strong innings to help the Braves beat the Phillies.
The Braves have won two straight and 17 of 19 to lead the majors with a .612 winning percentage.
Philadelphia, which has lost seven of eight series since All-Star break, has dropped 19 of 23. The Phillies have lost 13 of 14 on the road.
Beachy (2-0) held the Phillies scoreless until Dominic Brown’s 27th homer cut the lead to 5-2 with one out in the sixth.
D-BACKS 5, ORIOLES 4 (14)
PHOENIX — Aaron Hill had a game-ending single with one out in the 14th inning to give the Diamondbacks their third straight walk-off win over the Orioles.
Baltimore led all three games entering the seventh.
Bud Norris (8-10), who started and threw five innings in San Francisco on Sunday, came on in the 14th and walked two batters ahead of Hill’s single to take the loss.
Heath Bell (4-1) threw an inning to get the victory.
RANGERS 5, BREWERS 4
ARLINGTON, Texas — Elvis Andrus broke out of a slump with two hits and two RBIs, and the Rangers rallied for three runs in the seventh inning to beat the Brewers.
The AL West-leading Rangers were 7-40 when trailing after six innings before the rally that began in the seventh. Andrus had an RBI single to snap an 0-for-13 skid and Ian Kinsler a two-run single that turned a two-run deficit into a lead for Texas.
Milwaukee’s Juan Francisco homered twice and drove in four runs.
Matt Garza gave up eight hits and four runs in 5 2/3 innings. But Neal Cotts, Jason Frasor (4-2), Tanner Scheppers and Joe Nathan combined to shut down the Brewers.
John Axford (5-6) was the loser.
Yankees 11, Angels 3
NEW YORK — Alfonso Soriano homered twice for the second straight night and drove in a career-high seven runs, giving him a staggering 13 RBIs in two games while powering the suddenly potent New York Yankees over the Los Angeles Angels.
Soriano hit an early grand slam and became the third player to knock in at least six runs in back-to-back games since RBIs became an official statistic in 1920, according to STATS. The others were Texas’ Rusty Greer in August 1997 and Milwaukee’s Geoff Jenkins in April 2001.
Robinson Cano went 4 for 4 to pass Hall of Famer Phil Rizzuto for 15th place on the franchise hits list, and the Yankees hammered Angels ace Jered Weaver (7-6) in opening an 8-0 cushion by the second inning for Ivan Nova (6-4).
Nova, who has been outstanding since rejoining the rotation on July 5, worked around 10 hits in 7 1/3 innings. He’s been hurt by a lack of run support recently, but that was no problem this time.
Weaver came in 6-1 with a 1.72 ERA in his last nine starts and had won four straight decisions.
BLUE JAYS 4, RED SOX 3 (10)
TORONTO — Brett Lawrie singled home the winning run in the 10th inning, and Toronto beat Boston to hand the AL East-leading Red Sox their fourth loss in six games.
Rajai Davis doubled off Brandon Workman (3-2) to begin the 10th and went to third on Jose Bautista’s grounder. Edwin Encarnacion was intentionally walked to bring up Lawrie, who lined a two-strike pitch off the glove of shortstop Stephen Drew, bringing Davis home with the winning run.
Brad Lincoln (1-1) worked 1 1/3 innings as the Blue Jays recovered to win after Boston’s Mike Napoli hit a tying, two-run homer with two outs in the ninth.
David Ortiz also added a solo blast in the sixth, his 23rd.
TIGERS 6, WHITE SOX 4
CHICAGO — Miguel Cabrera hit a towering three-run homer and Detroit ended a three-game skid with a win over Chicago.
A year after winning the Triple Crown, Cabrera has 38 homers, 114 RBIs and is hitting .360 for the AL Central-leading Tigers, who had lost four of five following a 12-game winning streak.
Despite surrendering a season-high 11 hits, Tigers starter Rick Porcello (9-6) allowed just three runs in six innings to get the victory.
The White Sox closed to 6-4 in the eighth on an RBI single by Alexei Ramirez to make it 6-4. John Danks (2-10) pitched into the eighth, allowing six runs — four earned — on nine hits for Chicago.
RAYS 5, MARINERS 4
ST. PETERSBURG, Fla. — Jason Bourgeois hit an RBI single to cap Tampa Bay’s two-run rally in the ninth inning and the Rays ended a six-game losing streak with a win over Seattle.
The Rays trailed 4-3 when Ben Zobrist opened the ninth with a triple off the top of the right-field wall against rookie Danny Farquhar (0-1).
Matt Joyce singled to tie it, Evan Longoria doubled and Wil Myers was intentionally walked to load the bases. Bourgeois singled to right over the Mariners’ drawn-in outfield.
Joel Peralta (2-5) pitched one inning. Farquhar didn’t retire any of the five batters he faced.
INDIANS 9, TWINS 8 (12)
MINNEAPOLIS — Michael Brantley hit a sacrifice fly in the 12th inning and Cleveland rallied past Minnesota for just its third win in the last 10 games.
Nick Swisher and Jason Kipnis singled off Ryan Pressly (3-3) to open the 12th. Swisher moved to third on a fly out and scored easily on Brantley’s sac fly to center field.
Carlos Santana and Jason Giambi homered for the Indians. Chris Perez (5-2) blew a save but got the win, and Joe Smith earned his second save.
Santana homered off Glen Perkins in the 10th to give Cleveland an 8-7 lead. Joe Mauer, who had five hits, responded in the bottom half with a shot off Perez.
ASTROS 2, ATHLETICS 1 (11)
OAKLAND, Calif. — Carlos Corporan hit an RBI double in the 11th inning, lifting the Astros to a win over the Athletics.
Jose Altuve singled with one out off A’s reliever Sean Doolittle (3-4) and was headed for third on Corporan’s double when Oakland center fielder Chris Young bobbled the ball.
Altuve alertly rounded third and scored the tiebreaking run while Corporan was caught in a rundown between second and third.
Lucas Harrell (6-13) pitched one inning for the win while Josh Fields earned his second save.
MARLINS 5, ROYALS 2
KANSAS CITY, Mo. — Justin Ruggiano snapped a franchise-worst 0-for-42 slump with a single in the first inning and added two more hits and drove in a run as Miami beat Kansas City.
Ruggiano drove in the Marlins’ first run, but they still trailed 2-1 when Koyie Hill doubled off reliever Tim Collins (2-6) to start the seventh. Christian Yelich then hit a grounder toward third that utility man Elliot Johnson let through his legs to put runners on second and third.
Donovan Solano and Logan Morrison followed with RBI groundouts to give the Marlins the lead.
That was enough for the Marlins bullpen. Dan Jennings (2-3) got through the sixth, A.J. Ramos worked the seventh and eighth, and Steve Cishek handled the ninth for his 26th save.