Houston Astros' Alex Bregman (2) celebrates his two-run home run off Toronto Blue Jays relief pitcher Tim Mayza with George Springer during the eighth inning of a baseball game Tuesday, June 26, 2018, in Houston. (AP Photo/Eric Christian Smith)
Houston Astros' Alex Bregman (2) celebrates his two-run home run off Toronto Blue Jays relief pitcher Tim Mayza with George Springer during the eighth inning of a baseball game Tuesday, June 26, 2018, in Houston. (AP Photo/Eric Christian Smith) Credit: Eric Christian Smith

Houston — Alex Bregman hit a two-run homer in the ninth inning to complete a big rally in the Houston Astros’ 7-6 victory over the Toronto Blue Jays 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.

Royals 5, Brewers 4

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

Danny Duffy (4-7) allowed five hits over six effective innings for the Royals.

Reds 6, Braves 5

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

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

Rangers 5, Padres 2

Arlington, Texas — Mike Minor took a perfect game into the seventh inning, Shin-Soo Choo reached base for the 40th straight game and 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.

Pirates 5, Mets 3

New York — David Freese hit a go-ahead, two-run single and Pittsburgh rallied for four runs in the ninth inning to beat 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.

Phillies 3, Yankees 0

Philadelphia — Zach Eflin limited New York to four hits in seven innings, and Rhys Hoskins hit a three-run homer in Philadelphia’s victory.

Eflin won his fifth straight start and kept the surprising Phillies in the thick of the NL East race.

Diamondbacks 2, Marlins 1

Miami — Robbie Ray pitched six scoreless innings in his first game in nearly two months in Arizona’s victory over Miami.

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

Mariners 8, Orioles 7 (11)

Baltimore — 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 Baltimore.

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

Indians 5, Cardinals 1

St. Louis — Edwin Encarnacion and Lonnie Chisenhall hit back-to-back homers, and rookie Shane Bieber pitched six strong innings to help Cleveland beat St. Louis.

Bieber (3-0) struck out seven to become the seventh pitcher in baseball’s modern era to strike out six or more batters in each of his first four major league starts. 10.

Athletics 3, Tigers 0

Detroit — Jed Lowrie hit an RBI double in the fourth inning and Chris Bassitt pitched six innings in Oakland’s victory over Detroit.

White Sox 6, Twins 1

Chicago — Jose Abreu and Avisail Garcia homered for Chicago, and James Shields limited Minnesota to four hits over seven innings.

Shields (3-9) struck out five and walked just two in his only scoreless start of the season.

Ehire Adrianza had four hits and an RBI for Minnesota, which has dropped two straight games and five of six. Twins starter Kyle Gibson (2-6) allowed five runs on 11 hits in seven innings.