AMERICAN LEAGUE: Astros 7, Blue Jays 6

Alex Bregman’s two-run homer in the ninth completed a big rally to lift Houston over visiting Toronto on Wednesday.

It was Bregman’s third straight game with a homer and it capped a huge comeback for the Astros, who trailed 5-0 in the middle of the first inning after a terrible start by Dallas Keuchel.

The Astros trailed by one when Tony Kemp singled off Ryan Tepera (5-3) with no outs in the ninth and advanced to second on a wild pitch. Then with one out in the inning, Bregman sent a fastball to left field, where it bounced off the wall above the Crawford Boxes, to give Houston the victory.

Bregman also doubled twice.

Will Harris (3-3) allowed one hit in a scoreless ninth for the win.

Athletics 3, Tigers 0

Jed Lowrie hit an RBI double in the fourth inning and Chris Bassitt pitched six innings, helping Oakland beat host Detroit.

The A’s leaned on pitching and defense to win for the ninth time in 11 games and move five games over .500 for the first time this year. They did not clear the fences, ending their major-league record streak of hitting a homer in 27 road games.

Lowrie did his part at the plate again with a game-winning RBI for the third straight game.

Bassitt (1-3) gave up two hits and five walks while striking out five. He had lost nine straight since his last win in the majors in 2015.

Mariners 8, Orioles 7 (11)

Denard Span hit a tiebreaking sacrifice fly in the 11th inning after Kyle Seager delivered a two-run homer in the ninth, and Seattle beat host Baltimore to move within a victory of an unprecedented four-game sweep in Baltimore.

Playing without injured Nelson Cruz for a second straight game, the Mariners got a home run from Ryon Healy and collected 14 hits while improving their record in extra innings to 7-0.

The Mariners came to town having lost six of seven. Now, after winning three straight over the lowly Orioles, they can complete the first four-game road sweep of Baltimore in franchise history.

NATIONAL LEAGUE: Reds 6, Braves 5

Adam Duvall had a two-run single in the seventh inning, Jose Peraza homered and scored twice, and Cincinnati beat host Atlanta.

The Reds have won two straight and nine of 10, taking two of three from the NL East-leading Braves as closer Raisel Iglesias had a perfect ninth to earn his 15th save in 17 chances.

Atlanta has been missing opportunities against weaker competition, going 2-4 on a homestand against Baltimore, the AL’s worst team, and Cincinnati, the NL’s third-worst team.

The Reds took advantage of another shaky outing by reliever Sam Freeman (2-4), scoring three runs in the seventh inning for a 6-5 lead on Scooter Gennett’s RBI single and Duvall’s single.

Pirates 5, Mets 3

David Freese hit a go-ahead, two-run single and Pittsburgh rallied for four runs in the ninth inning to beat host New York.

Gregory Polanco had an RBI single and Josh Bell added a sacrifice fly in the ninth as the Pirates, shut down by Zack Wheeler most of the night, came back against a beleaguered New York bullpen to win for just the second time in eight games.

Wilmer Flores homered and Asdrubal Cabrera had three hits for New York, which has dropped eight of nine. Mets relievers have 21 losses this season, most in the majors.

Diamondbacks 2, Marlins 1

Robbie Ray pitched six scoreless innings in his first game in nearly two months to help Arizona beat host Miami.

Daniel Descalso homered and Deven Marrero knocked in a run for the Diamondbacks, who have won six of seven.

Brad Boxberger allowed a homer to Starlin Castro to lead-off the ninth and walked the ensuing batter before retiring the next three for his 19th save in 23 chances.

Ray (3-0) allowed two hits and issued two walks.

Wei-Yin Chen (2-5) allowed one run and five hits in six innings for the Marlins.

INTERLEAGUE: Phillies 3, Yankees 0

Zach Eflin continued to shine for the Phillies with a four-hitter over seven shutout innings, and Rhys Hoskins hit a three-run homer to help host Philadelpha beat New York.

Eflin, acquired in the 2014 trade that sent fan favorite and former NL MVP Jimmy Rollins to the Los Angeles Dodgers, won his fifth straight start and kept the surprising Phillies in the thick of the NL East race.

Eflin (6-2) became the first Phillies pitcher to win five starts in a month (he had a 1.76 ERA in June) since Cole Hamels went 5-0 in May 2012.

Royals 5, Brewers 4

Mike Moustakas’ solo homer opened a five-run seventh inning that snapped an extended run-scoring slump for the Royals as Kansas City held off host Milwaukee.

Danny Duffy (4-7) allowed five hits over six effective innings for the Royals, who split a two-game interleague series with the NL Central-leading Brewers.

The Royals called on Wily Peralta, a former Brewer, to close out the game after Brad Miller hit a three-run homer off reliever Tim Hill with nobody out in the ninth to get the Brewers within 5-4.

Eric Thames struck out before pinch-hitter Erik Kratz singled. Peralta then got Ryan Braun to bounce into a game-ending double play.

Rangers 5, Padres 2

Mike Minor took a perfect game into the seventh inning, Shin-Soo Choo reached base for the 40th straight game host Texas beat San Diego.

Minor (6-4) was perfect until Eric Hosmer’s single up the middle with one out in the seventh. One out later, center fielder Delino DeShields preserved Minor’s shutout by leaping to rob Hunter Renfroe of a home run.

Choo tied Philadelphia’s Odubel Herrera for the longest on-base streak in the majors this season.