WASHINGTON (AP) Yoenis Cespedes hit a go-ahead homer in the eighth inning moments after pinch-hitter Kelly Johnson connected for a tying shot, and the New York Mets rallied past the Washington Nationals 5-3 Wednesday night for a pivotal three-game sweep.

Jacob deGrom (13-7) pitched seven strong innings in a tight duel with Nationals starter Stephen Strasburg, who struck out a season-high 13.

Johnson's leadoff drive against Strasburg (8-7) tied it 2-all before Cespedes teed off for a two-run shot against struggling Drew Storen, sending the Mets to their third consecutive comeback victory in the series.

More from FoxSports

The sweep extended New York's lead in the NL East to seven games over Washington with 23 to play. The Mets have won six straight against the Nationals, including a three-game sweep at Citi Field from July 31 to Aug. 2.

Bryce Harper homered twice, doubled and scored three times for Washington, but it wasn't enough.

New York with an RBI single off Jonathan Papelbon in the ninth.

Travis d'Arnaud also homered for the Mets. Jeurys Familia closed for his 39th save.

CARDINALS 4, CUBS 3

ST. LOUIS (AP) - Matt Carpenter tripled and scored twice, and Stephen Piscotty doubled in the decisive run as St. Louis beat Chicago to end a three-game skid.

The NL Central leaders scored three times in the eighth inning to avoid their first sweep at home this season and their first against the Cubs since September 2010.

Cubs starter Jon Lester left after seven dominant innings. He didn't allow a hit after the third batter and retired 20 of his final 21 hitters.

Jonathan Broxton (2-4) got the win and Trevor Rosenthal earned his 43rd save.

Clayton Richard (3-1) took the loss.

RED SOX 10, BLUE JAYS 4

BOSTON (AP) - David Ortiz hit a three-run shot for his 498th home run, and Boston beat AL East-leading Toronto to hand the Blue Jays just their second series loss since late July.

Joe Kelly (10-6) won his eighth consecutive start, the longest stretch by a Red Sox pitcher since Hall of Famer Pedro Martinez won nine straight in 1999.

Mookie Betts had a solo homer and drove in three runs, and Ryan Hanigan had three hits and three RBIs for the Red Sox, who have won nine of 13 after taking two of three from Toronto.

Despite the loss, the Blue Jays maintained a 1 1/2-game lead over New York, which lost to Baltimore. Toronto heads to Yankee Stadium for a four-game series that begins Thursday night.

Ortiz connected off Drew Hutchison (13-4). It was his 32nd homer of the season the 59th of his career against the Blue Jays, most by any opponent.

ORIOLES 5, YANKEES 3

NEW YORK (AP) - CC Sabathia's strong start in his return from the disabled list was undone by Stephen Drew's fielding misplays at second base, and Baltimore rallied past New York.

Steve Pearce hit a tiebreaking homer in the eighth inning for the Orioles off Adam Warren (6-6).

Baltimore had lost 15 of 18 and faded from postseason contention before winning the final two in the three-game series.

Carlos Beltran homered and drove in three runs for the Yankees, who took a 3-1 lead in the third but got only one more hit.

Ubaldo Jimenez (11-9) allowed four hits in seven innings, struck out eight and walked none. Darren O'Day and Zach Britton finished the four-hitter, with Britton saving his 32nd game in 35 chances.

The crowd of 30,038 was the smallest at new Yankee Stadium, which opened in 2009, and the lowest for a Yankees home game since 2004.

PIRATES 5, REDS 4

CINCINNATI (AP) - Reds star Joey Votto went berserk after a called strike and got ejected, with teammates and even an umpire needing to hold him back in Cincinnati's loss to Pittsburgh.

Jung Ho Kang hit Pittsburgh's first grand slam of the season, a tiebreaking shot in the sixth inning. The Pirates hold the top spot in the NL wild-card race.

Votto was tossed by plate umpire Bill Welke while the Reds were trying to rally in the eighth. The 2010 NL MVP slammed down his batting helmet, hollering and gesturing as he went nose-to-nose with Welke.

The dispute quickly escalated and Reds teammates intervened to restrain Votto, with first base umpire Laz Diaz helping prevent the big hitter from getting back at Welke. Cincinnati manager Bryan Price also was ejected.

J.A. Happ (5-1) struck out a season-high 10. He won his fifth straight start, pitching into the seventh inning and giving up three hits.

Mark Melancon worked the ninth for his major league-leading 44th save.

Keyvius Sampson (2-4) took the loss.

BRAVES 8, PHILLIES 1

PHILADELPHIA (AP) - Julio Teheran threw seven impressive innings, Christian Bethancourt hit a go-ahead homer and Atlanta beat Philadelphia.

Teheran (10-7) gave up one run and four hits to help Atlanta take two of three and avoid tying the Phillies for the worst record in the majors. The Braves had lost 12 in a row and 19 of 20 before coming to Philadelphia.

Michael Bourn had four of Atlanta's season-high 18 hits. Bethancourt and Hector Olivera each had three hits. The trio entered the game batting a combined .170 (37 for 218).

David Buchanan (2-8) allowed four runs and 10 hits in 3 1-3 innings.

RAYS 8, TIGERS 0

DETROIT (AP) - Jake Odorizzi pitched six strong innings and Tampa Bay hit four homers in a rout of Detroit.

Odorizzi (7-8) held the Tigers to six hits and a walk while striking out six. Logan Forsythe, Tim Beckham, J.P. Arencibia and Mikie Mahtook went deep for the Rays.

Kyle Lobstein (3-7) took the loss in his second start back from a shoulder injury. He gave up five runs and seven hits in 5 2-3 innings.

MARLINS 5, BREWERS 2

MIAMI (AP) - Tom Koehler tied career highs with 10 strikeouts in eight innings and Christian Yelich had a tiebreaking, two-run double in the seventh as Miami beat Milwaukee.

Koehler (9-13) won for the first time since July 23 at San Diego, ending a seven-game losing streak. He allowed two runs and four hits.

A.J. Ramos pitched the ninth for his 25th save in 31 chances.

Martin Prado drove in the other three runs for the Marlins.

Tyler Cravy (0-6) took the loss.

INDIANS 6, WHITE SOX 4

CHICAGO (AP) - Francisco Lindor had three hits, including a home run, and Jose Ramirez also went deep in Cleveland's victory over Chicago.

Josh Tomlin (5-1) allowed three runs in 5 2-3 innings to win his fifth straight. Cody Allen allowed a run in the ninth before securing his 30th save.

Lindor, who also tripled and scored twice, finished a double shy of the cycle.

Trayce Thompson, Tyler Saladino and Jose Abreu each had a solo homer for the White Sox. Jeff Samardzija (9-12) allowed four runs and eight hits in 6 2-3 innings. Samardzija has lost seven of eight overall and six straight at home.

ASTROS 11, ATHLETICS 5

OAKLAND, Calif. (AP) - Collin McHugh earned his 16th win and Houston hit four home runs to beat Oakland, avoiding a series sweep.

Colby Rasmus, Evan Gattis, Carlos Gomez and Marwin Gonzalez homered for the Astros, who increased their AL West lead over Texas to two games. They are tied with Toronto for the major league lead with 192 home runs.

McHugh (16-7) labored through his worst start in more than a month but got enough support to win his third straight. He allowed five runs and six hits in 5 1-3 innings.

Jose Altuve added two doubles and Hank Conger drove in four runs for the Astros. Houston's 76 wins are its most since 2010 when the club went 76-86.

Aaron Brooks (1-3) gave up five runs and eight hits in four-plus innings. Billy Butler and Josh Reddick homered for Oakland, which gave manager Bob Melvin a two-year contract extension before the game.

MARINERS 6, RANGERS 0

SEATTLE (AP) - Vidal Nuno allowed one hit over seven dominant innings for his first victory in more than a year, and Mark Trumbo and Kyle Seager each had four hits and a two-run homer to lead Seattle past Texas.

Nuno (1-2) had gone 20 starts without a win, which was tied with Atlanta right-hander Shelby Miller for the longest active stretch in the majors. The left-hander struck out a career-high 10 and yielded only Prince Fielder's first-inning single.

As a starter, Nuno was 0-10 with a 4.17 ERA since his previous win on June 27, 2014, with the New York Yankees. Nuno also made 24 relief appearances during that span without a victory.

Danny Farquhar and Carson Smith each followed with a perfect inning to finish the one-hitter.

Martin Perez (2-5) allowed five runs and seven hits in five-plus innings.

ANGELS 3, DODGERS 2

ANAHEIM, Calif. (AP) - Albert Pujols drove in Kole Calhoun with the tiebreaking run in the eighth inning, and the Los Angeles Angels snapped their eight-game skid in the Freeway Series with a victory over the Dodgers.

Calhoun doubled into the right-field corner leading off the eighth against Luis Avilan (2-5). Pujols then bounced a one-out single through the middle against Pedro Baez.

Garrett Richards matched his career high with 11 strikeouts during 7 2-3 innings of four-hit ball as the Angels beat their local rivals for the first time since last year, avoiding a six-game season sweep.

Chase Utley tied it with a two-out RBI double on Richards' 109th and final pitch, but the Dodgers' five-game winning streak was snapped.

Scott Schebler homered for the Dodgers on Richards' first pitch, but the NL West leaders lost for just the third time in 16 games. The Giants' loss kept the Dodgers 8 1/2 games up in the division race.

Jose Alvarez (4-3) struck out Adrian Gonzalez to end the eighth, and Huston Street pitched the ninth for his 33rd save.

TWINS 3, ROYALS 2, 12 INNINGS

KANSAS CITY, Mo. (AP) - Pinch-hitter Miguel Sano homered with two outs in the 12th inning, and Minnesota beat Kansas City.

Sano was stuck in an 0-for-14 slump that included 11 strikeouts when he stepped to the plate against Franklin Morales (3-2), the Royals' sixth reliever of the night.

Blaine Boyer (3-4) pitched 1 2-3 innings of relief for the Twins, and Kevin Jepsen got three outs for his 12th save while Glen Perkins sat out again with a back injury.

Kurt Suzuki homered and Joe Mauer also drove in a run for the Twins.

Ben Zobrist went deep for the AL Central-leading Royals.

DIAMONDBACKS 2, GIANTS 1

PHOENIX (AP) - Zack Godley pitched six effective innings and Arizona intentionally loaded the bases to get out of a seventh-inning jam and beat San Francisco.

Godley (5-1) was sharp in his last start before heading to the bullpen, allowing a run and three hits.

Jarrod Saltalamacchia homered for the second straight game, a two-run shot off Chris Heston (11-10). Ender Inciarte had three hits.

The Diamondbacks took a bit of a gamble in the seventh, intentionally walking Buster Posey with runners at the corners to avoid facing the NL's third-leading hitter. Randall Delgado got Angel Pagan to pop out to end the inning.

Brad Ziegler retired the final five hitters for his 23rd straight save and 25th overall.

The Giants went 0 for 10 with runners in scoring position during their ninth loss in 12 road games.

PADRES 11, ROCKIES 4

SAN DIEGO (AP) - Matt Kemp and Jedd Gyorko homered, and James Shields pitched San Diego past Colorado.

The Padres had 18 hits in winning their second straight after a four-game skid.

San Diego scored four runs in the third to take a 6-2 lead. The big blow was Gyorko's three-run homer.

Shields (11-6) worked six innings and was charged with four runs. The right-hander improved to 5-0 against the Rockies in his last six starts against them.

Chris Rusin (5-8) went three innings and allowed six runs on eight hits. He walked Shields with the bases loaded in the second.

Colorado has lost 17 of its past 21 at Petco Park.