NEW YORK -- Stephen Strasburg stayed undefeated, winning a marquee pitching matchup against an ailing Noah Syndergaard by tossing seven innings of two-hit ball Friday night that sent the Washington Nationals to a 3-1 victory over the banged-up New York Mets.

Clint Robinson hit a two-run homer for the Nationals, going deep for the second consecutive night, and Daniel Murphy added an RBI double against his former team. Strasburg (12-0) struck out nine and became the first National League pitcher in 104 years to win his first 12 decisions in a season.

Jonathan Papelbon pitched a perfect ninth for his 18th save, helping Washington extend its NL East lead to four games over the Mets after dropping the opener of the four-game series Thursday night.

Syndergaard (9-4) and slugger Yoenis Cespedes left early with injuries -- hours after New York announced that struggling pitcher Matt Harvey will have season-ending surgery for thoracic outlet syndrome.

PIRATES 8, CUBS 4

PITTSBURGH (AP) -- Andrew McCutchen had three hits, including an RBI single during Pittsburgh's four-run seventh inning, and the Pirates rallied for a rare victory over Jake Arrieta and the Cubs.

John Jaso's RBI single tied it at 4 and chased Arrieta (12-4), who had beaten the Pirates in all three previous starts this season and entered with a 9-1 career record against them. The Cubs had won eight of the first nine meetings with Pittsburgh this year.

Josh Bell then scored the go-ahead run from second base when first baseman Anthony Rizzo fielded Gregory Polanco's ground ball and threw wildly to reliever Travis Wood covering first. McCutchen followed with his RBI single and Starling Marte drove in the inning's final run with a grounder.

Neftali Feliz (3-0) pitched an inning for the win and Mark Melancon got the final out for his 27th save.

INDIANS 10, YANKEES 2

CLEVELAND (AP) -- Mike Napoli hit one of five Cleveland home runs, a 462-foot drive that nearly hit the scoreboard in left field.

Napoli's two-run homer in the third inning landed near the top of the bleachers for his 18th of the season.

Cleveland's five home runs marked a season high, with three coming in the first inning. Jason Kipnis homered twice, and Carlos Santana and Lonnie Chisenhall also connected.

All-Star Corey Kluber (9-8) pitched eight innings for the win. Yankees rookie Chad Green (1-2) was charged with seven runs in 4 1/3 innings.

Brian McCann homered in the sixth for the Yankees, who are 3-5 on a 10-game trip going into the All-Star break.

BRAVES 11, WHITE SOX 8

CHICAGO (AP) -- Freddie Freeman, Tyler Flowers and Nick Markakis homered against All-Star Chris Sale, leading the Braves to the road win.

Chicago turned its third triple play this season in the third -- the only inning Atlanta didn't score against Sale (14-3) in his five innings. The White Sox ace, bidding to become the majors' first 15-game winner, allowed 10 hits -- including a career-worst seven for extra bases -- and a season-high eight runs.

Todd Frazier hit his 24th homer and Adam Eaton also connected against Atlanta starter Matt Wisler (4-8), who gave up six runs and eight hits in five innings but got his first win since June 16.

BLUE JAYS 6, TIGERS 0

TORONTO (AP) -- J.A. Happ and two relievers combined on a seven-hitter, Edwin Encarnacion hit a three-run homer and the Blue Jays extended their season-high winning streak to seven games.

In his final start before the All-Star break, Happ (12-3) matched his career high in wins. He struck out nine in 5 2/3 innings.

Tigers right-hander Mike Pelfrey (2-8) allowed one run and six hits in six innings. He has won just once in seven starts.

Detroit has lost four of five.

RANGERS 6, TWINS 5

ARLINGTON, Texas (AP) -- Rougned Odor and Elvis Andrus had RBI triples, and the Rangers overcame a lacklustre performance for All-Star left-hander Cole Hamels.

Texas twice blew two-run leads before finally going ahead for good in the sixth. Nomar Mazara had a leadoff double against Ryan Pressly (2-5) before Andrus tripled and scored the go-ahead run on Bobby Wilson's sacrifice fly.

Tony Barnette (6-3) threw 2 2/3 scoreless innings in relief of Hamels, who matched a career high with six walks while throwing 109 pitches to get through 4 1/3 innings. Sam Dyson worked the ninth for his 18th save.

Miguel Sano hit a three-run homer for Minnesota, which has the AL's worst record at 30-56.

RED SOX 6, RAYS 5

BOSTON (AP) -- David Ortiz hit his 21st homer, powering Boston to its fourth win in five games.

Ortiz's homer -- the 524th of his career -- tied him with Jimmie Foxx for seventh-most in American League history. Robbie Ross, Jr. (1-1) got the victory, and Koji Uehara picked up his third save.

Tampa Bay's Chris Archer (4-12) took the loss, surrendering five runs and seven hits in six innings.

Evan Longoria had four hits and a home run for the Rays, who have lost four straight and 20 of 23.

MARLINS 3, REDS 1

MIAMI (AP) -- Jose Fernandez pitched seven sharp innings to help Miami to the win.

Christian Yelich homered and drove in two runs and Derek Dietrich also knocked in a run for the Marlins, who returned home after a 3-6 road trip.

Fernandez (11-4) allowed an unearned run and six hits. A.J. Ramos worked the ninth for his 26th save in 27 chances.

Dan Straily (4-6) gave up three runs and six hits in six innings for the Reds.

ANGELS 9, ORIOLES 5

BALTIMORE (AP) -- Daniel Nava had two RBIs and made a spectacular catch to help the Angels earn their fourth straight victory.

Mike Trout scored three runs for the Angels, who built an 8-1 lead in the fourth inning against the AL East leaders. The four-game winning streak matches a season high for Los Angeles.

The victory came at a cost. First baseman C.J. Cron -- who has 11 homers and 50 RBIs -- fractured a bone in his left hand when hit by a pitch from Mike Wright in the sixth inning. He will see a specialist Monday, the team said.

Matt Shoemaker (4-9) allowed three runs and five hits in five-plus innings to earn his first win since May 27. Baltimore's Ubaldo Jimenez (5-9) gave up five runs in 1 1/3 innings.

BREWERS 4, CARDINALS 3

MILWAUKEE (AP) -- Jonathan Villar hit a game-ending RBI single with two out in the ninth, lifting Milwaukee to the win.

Villar's hit, off Seung Hwan Oh, got past diving third baseman Greg Garcia. Left fielder Tommy Pham's throw to the plate was on line and Yadier Molina slapped a quick tag on Kirk Nieuwenhuis as he slid. The home plate umpire ruled Nieuwenhuis safe, leading to an argument from Molina.

The call was confirmed after a brief review.

Chris Carter homered twice for Milwaukee, and Jonathan Lucroy also went deep. Jeremy Jeffress (2-4) got the win in relief.

Nieuwenhuis led off the ninth with a walk off Trevor Rosenthal (2-4). He moved to second on a sacrifice by Hernan Perez.

MARINERS 3, ROYALS 2

KANSAS CITY, Mo. (AP) -- Hisashi Iwakuma pitched into the seventh inning, and Seattle scored the go-ahead runs on Yordano Ventura's wild pitch.

Iwakuma (9-6) allowed one run in 6 2/3 innings. Steve Cishek, who blew a save opportunity in the series opener, allowed Salvador Perez's homer in the ninth inning before finishing for his 21st save.

Ventura (6-6) was charged with three runs and six hits in seven innings.

Ventura's wild pitch allowed Seth Smith to score in the sixth. Perez threw the ball away trying to get him out at the plate, allowing Robinson Cano to score -- the star catcher was given an error on the play.

ASTROS 10, ATHLETICS 9

HOUSTON (AP) -- Luis Valbuena hit a game-ending, three-run homer, lifting Houston to a wild win.

The Athletics took the lead with a five-run ninth inning before the Astros rallied in the bottom half.

Jose Altuve singled with one out. Carlos Correa struck out, but reached on a wild pitch before Valbuena connected against Ryan Madson (3-3).

Michael Feliz (6-1) got the win.

Yonder Alonso and Marcus Semien homered for Oakland, which finished with 14 hits.

PHILLIES 5, ROCKIES 3

DENVER (AP) -- Pinch hitter Tommy Joseph connected for a three-run homer in the seventh inning, leading Philadelphia to the road win.

Vince Velasquez (8-2) allowed two runs over six innings and won his third straight start. He struck out six and walked two.

The Phillies snapped a five-game losing streak to the Rockies and have won eight of their last 10 overall.

Rockies starter Jon Gray left the game with a 2-0 lead and runners on the corners with one out in the seventh. The Phillies put up four runs in their next two at-bats off Jake McGee (0-3).

Jeanmar Gomez got four outs for his 24th save.

DODGERS 10, PADRES 6

LOS ANGELES (AP) -- Yasmani Grandal homered three times to drive in six runs, Justin Turner and Howie Kendrick added solo shots and Los Angeles snapped a three-game skid.

The teams combined for 28 hits and seven homers, including two by San Diego's Melvin Upton Jr.

Both starters struggled mightily before leaving early. San Diego's Andrew Cashner gave up a career-high eight runs, while Los Angeles' Scott Kazmir laboured through a 31-pitch, 27-minute first inning in a game that lasted 3 hours, 45 minutes.

Grandal had the first three-homer game of his career against his former team. He singled in the eighth, giving him a career-high five hits.

Pedro Baez (2-2) got the win in relief, allowing one hit in 2 2/3 innings.

Cashner (3-7) lasted just 2 2/3 innings, giving up eight hits, including four homers, while striking out two and walking three.

GIANTS 6, DIAMONDBACKS 2

SAN FRANCISCO (AP) -- Brandon Crawford drove in three runs and came within a triple of hitting for the cycle and Jeff Samardzija overcame a shaky first inning to get the win for San Francisco.

Brandon Belt walked four times and scored for the Giants after earlier in the day being voted by fans to fill the final spot on the NL roster for next week's All-Star Game.

Crawford homered, singled, walked and doubled. He hit his ninth home run of the season off Diamondbacks starter Patrick Corbin (4-7) in the second.

Jean Segura homered leading off the game for Arizona.

Samardzija (9-5) walked three and struck out six in 6 1/3 innings to win for the first time in four starts.The right-hander gave up two runs, both in the first inning. Three relievers completed the seven-hitter.