Kansas City, Mo.

The Houston Astros won their 10th straight game, with Dallas Keuchel getting three-run homers from Max Stassi and Alex Bregman to rout the Kansas City Royals 10-2 on Saturday.

Jose Altuve hit a two-run double in the first inning to send the World Series champions on their way. The Astros had an 11-game win streak last season that ended in Kansas City.

The Royals have lost five in a row and are just 2-12 in June.

Keuchel (4-8) began to emerge from a monthlong funk, allowing two unearned runs and six hits in six innings. The 2015 Cy Young winner had surrendered a combined 17 runs over his past three outings, and had not won since tossing seven scoreless innings against Texas on May 13.

Tigers 7, White Sox 5: Nicholas Castellanos homered twice and Jose Iglesias hit a tiebreaking RBI single in Detroit's two-run eighth for its fourth straight win. Castellanos hit a three-run drive in the third and a two-run shot in the fifth. It was his first multihomer game since Aug. 22 against the Yankees and No. 4 for his career.

Blue Jays 2, Nationals 0: Max Scherzer lost his second straight start for the first time since 2015 when Marco Estrada pitched 62/3 shutout innings and Devon Travis homered to lead Toronto past Washington. Scherzer (10-3) gave up four hits, including the two-run homer by Travis, in six innings. The two-time NL Cy Young Award winner struck out 10, increasing his major league-leading total to 152.

Twins 9, Indians 3: Cleveland pitcher Carlos Carrasco was pulled after he was struck on the right arm by a line drive, and Minnesota got four hits from Eddie Rosario in a win over Cleveland. Carrasco grabbed his arm after being hit by Joe Mauer's leadoff liner in the second inning and went to his knees on the infield grass.

Braves 1, Padres 0: Sean Newcomb pitched six scoreless innings and Charlie Culberson homered to lead Atlanta. The NL East-leading Braves improved to 25-7 when their starter pitches at least six innings.

Athletics 6, Angels 4: Stephen Piscotty hit a tiebreaking, two-run single with two outs in the sixth inning and the Athletics held on to beat Los Angeles. Chad Pinder homered and tripled to help Oakland end its season-high four-game losing streak.

Pirates 6, Reds 2: Josh Harrison hit a two-run homer, Colin Moran and Elias Diaz added solo shots and Pittsburgh pulled away from Cincinnati.

Rockies 5, Rangers 2: Adrian Beltre hit a tiebreaking two-run triple in the eighth inning, and Texas snapped a seven-game losing streak.

Phillies 4, Brewers 1: Rhys Hoskins and Andrew Knapp hit home runs and Philadelphia overcame stranding 15 runners on base.

Marlins 5, Orioles 4: J.T. Realmuto homered twice and had four RBIs off Alex Cobb, and Miami handed Baltimore its ninth straight loss. It was his fourth career multihomer game, the second this season.

Dodgers 3, Giants 1: Enrique Hernandez and Matt Kemp each homered for the second consecutive game, Alex Wood got his first victory since May 20 and Los Angeles beat San Francisco.

Cubs 6, Cardinals 3: Jason Heyward and Addison Russell homered and Kyle Hendricks allowed three runs in six innings to lead Chicago.