Ryan Sweeney had a career-high six RBIs, including a three-run homer, and the Cubs routed the Houston Astros 14-6 on Sunday in Chicago.
The center fielder drove in runs in each of his first four at-bats, capping the stretch with his long ball to right-center field. He also had two doubles and a run-scoring grounder in the second inning.
Cubs first baseman Anthony Rizzo added a two-run home run and finished 3-for-3 with four runs scored and four RBIs.
Chicago scored its most runs and had its most hits (16) this season. All nine starters reached base for the Cubs. Chicago’s outburst helped erase a pair of errors from shortstop Starlin Castro, who now leads the majors with 14 errors this season.
Starting pitcher Jeff Samardzija (5-7) won his second straight, with five strikeouts and no walks. It was his first start without yielding a walk this season. Houston pitcher Jordan Lyles (4-2) lost for the first time since May 12.
Royals 7, White Sox 6: The Kansas City Royals took advantage of a pair of errors by the White Sox to score three times in the eighth inning and rally for a win in Kansas City, Mo., that avoided a three-game sweep.
The Royals trailed by two when they got consecutive singles by Mike Moustakas and David Lough off White Sox reliever Jesse Crain (2-2) to start the eighth. An error by Crain while trying to field a bunt by Elliot Johnson loaded the bases with nobody out.
Crain struck out George Kottaras and Jarrod Dyson to breathe a bit easier, but he walked Alex Gordon to get Kansas City within a run. Alcides Esocbar then slapped a grounder to shortstop that Alexei Ramirez let through to left field, bringing in the tying and go-ahead runs.
While unearned, they were the first runs Crain had allowed in 30 appearances.
Luke Hochevar (1-1) struck out two in a scoreless innings of relief for Kansas City, while Greg Holland pitched a perfect ninth for his 16th save in 18 chances.