Kyle Schwarber homered twice and drove in four runs, and the rolling Cubs beat the Chicago White Sox 6-3 on Thursday night for their third consecutive victory.
Anthony Rizzo also connected and Jon Lester pitched seven effective innings as the Cubs improved to 11-2 since the All-Star break. The NL Central leaders also increased their advantage over the second-place Brewers to 1 1/2 games ahead of their big series this weekend in Milwaukee.
Lester (8-6) allowed two runs and four hits in his third straight win.
Jose Abreu homered twice and Willy Garcia also went deep for the lowly White Sox, who have lost seven in a row at home for the first time since 2011 and 12 of 13 overall. Mike Pelfrey (3-8) was tagged for five runs and six hits in five-plus innings.
Rizzo and Albert Almora Jr. each had two hits for the Cubs, who improved to 8-7 in interleague play after going 15-5 against the American League last year. Contreras walked twice and scored two runs, continuing an impressive July for the young catcher.
Jose Quintana (6-8, 4.22 ERA) makes his third start with the Cubs on Friday night at Milwaukee. Brent Suter (1-1, 2.84 ERA) gets the ball for the Brewers.
Derek Holland (5-9, 5.12 ERA) starts the opener of a three-game series against Cleveland on Friday night. RHP Danny Salazar (3-5, 4.79 ERA) pitches for the AL Central-leading Indians.
>>Diamondbacks Blank Cardinals
J.D. Martinez hit a grand slam and Zack Godley pitched seven innings as the Diamondbacks beat the St. Louis Cardinals 4-0 on Thursday night.
The Diamondbacks won their third game out of four, improved to 59-43 and snapped the Cardinals' three-game winning streak.
Godley (4-4) reversed a trend of two poor outings, in which he allowed 10 earned runs in 11 2/3 innings, with the best performance of his 14-start career. Only three Cardinals advanced into scoring position as Godley struck out seven.
Archie Bradley and Fernando Rodney each pitched an inning in relief for the Diamondbacks, who had their first shutout since May 30 at Pittsburgh.
Paul Goldschmidt had two singles, walked and scored on the grand slam.
With the loss the Cardinals, who were shut out for the first time since May 26 at Colorado, missed the opportunity to reach the .500 mark for the first time since June 2. St. Louis fell to 50-52.
Weaver (0-1), who was recalled from Triple-A Memphis after Adam Wainwright (back) was placed on the disabled list, was burned by two walks immediately in front of the Martinez grand slam, which were the only runs he gave up in his five innings.
Paul DeJong was the only Cardinal to reach safely more than once, with two singles and a walk.
Robbie Ray (9-5, 3.15 ERA) is fourth in the National League with 149 strikeouts. In nine road starts (eight quality) he is 5-1 with a 1.51 ERA.
Michael Wacha (7-4, 3.93 ERA) has a 2.20 ERA in his last five starts. He is 0-1 with a 4.37 ERA in four career starts against Arizona.