Kyle Schwarber hit two home runs, Ian Happ and Anthony Rizzo also went deep to back Jose Quintana, and the Cubs pounded the Pittsburgh Pirates 17-3 on Wednesday night.
Chicago tied a season high for runs set against Philadelphia on Saturday and banged out 20 hits to match its highest total since May 12, 2014, at St. Louis. The Cubs (72-60) outscored the Pirates 27-5 in a three-game sweep and moved 12 games above .500 for the first time this year. They also remained 3 1/2 games ahead of Milwaukee for the NL Central lead.
Happ helped stake Chicago to a 5-2 lead with an RBI single in the first and two-run drive off Ivan Nova in the third. Happ also had an RBI double.
Rizzo hit his 31st homer, scored three runs and drove in two. Schwarber came through with his second multihomer game of the season, with two-run drives in the fifth and seventh.
Javier Baez became the first Cubs player in seven years to steal home .
Quintana (5-3) held Pittsburgh to three runs and four hits in six innings. He retired 14 in a row after giving up two runs in the first and also had an RBI single.
Nova (11-12) lasted just three innings in his shortest outing of the year, allowing five runs (four earned) and three hits after getting roughed up in Cincinnati last week.
Kyle Hendricks (5-4, 3.45 ERA) goes to the mound as Chicago opens a four-game series against Atlanta. LHP Sean Newcomb (2-7, 4.36) starts for the Braves.
>>Brewers Outlast Cardinals
Domingo Santana and Jonathan Villar homered in the sixth inning, and Keon Broxton made a leaping catch over the wall for the final out in the Milwaukee Brewers' 6-5 win over the St. Louis Cardinals on Wednesday.
Corey Knebel pitched the ninth for his 30th save. He allowed a leadoff single to Yadier Molina, struck out the next two batters, and then watched Broxton snag Randal Grichuk's deep blast to end the game.
Chase Anderson (8-3) gave up two hits - both homers - in six innings, three earned runs, struck out six and walked two to improve to 4-0 in nine starts at Miller Park this season.
Santana hit his 22nd homer of the season and Villar's was his 10th, giving Milwaukee a franchise-record nine players with at least 10 homers in a season.
St. Louis fell 2 1/2 games behind the second-place Brewers in the NL Central despite two home runs from Tommy Pham, who has 19 on the season.
Carlos Martinez (10-10), who entered the game 3-0 in his past four starts, allowed 10 hits, six runs - three earned - and struck out seven in 5 2/3 innings.
Milwaukee won for the 10th time in its past 15 games by scoring three times in the sixth.
Grichuk hit his 17th homer in the fifth.
Michael Wacha (9-7) takes a three-game losing streak into his start at San Francisco.
>>Twins Power Past White Sox
Jose Berrios pitched seven scoreless innings, Brian Dozier had four hits and Eddie Rosario homered twice as the Twins defeated the Chicago White Sox 11-1 on Wednesday night.
Berrios (12-6) tied a career high with 11 strikeouts, including seven of the last nine batters he faced. He walked one and gave up just four hits to win his seventh straight start at Target Field.
Chicago's only real threat came in the fourth, when Berrios hit Jose Abreu with a pitch, gave up a broken-bat single to Avisail Garcia and walked Omar Narvaez to load the bases with two outs. Berrios struck out Tim Anderson on three pitches, the last a 96-mph fastball, to escape the jam.
Mitch Garver and Ehire Adrianza each had three hits for the Twins. Adrianza tripled twice and drove in four runs, while Garver scored three runs and was a home run short of the cycle.
Miguel Gonzalez (7-10, 4.30) has given up just four earned runs in his last 28 innings, cutting his ERA by nearly a full run. In his only start against the Twins this year he held them to two runs in six innings in a White Sox victory on April 8.
Twins RHP Bartolo Colon (6-10, 6.35) is 4-1 with a 3.21 ERA in five August starts.