With the Cubs up 3-2 in the sixth, Schwarber hit a deep drive to center field -- not that far from where his 2016 regular season ended with two torn knee ligaments -- for his 19th homer. Avila, filling in for the injured Willson Contreras, then chased Arizona starter Taijuan Walker (6-6) with another homer to center, his second since being traded by Detroit to the Cubs on July 31.
Schwarber sustained multiple injuries, including a torn anterior cruciate ligament, during a dreadful collision with Cubs center fielder Dexter Fowler as both chased a fly ball in left-center field on April 7, 2016. He was expected to miss the rest of the season, but surprisingly returned in October to get seven hits in the World Series.
The Cubs, winning their 13th in their last 16 on the road and 17-9 overall since the All-Star break, broke the game open with three runs in the eighth against reliever T.J. McFarland -- highlighted by Javier Baez frantically scoring from first base on Ian Happ's single to right field. Baez broke on the play and didn't stop running, not even looking into right field as he rounded third.
Cubs starter John Lackey (10-9) gave up solo homers to David Peralta, his 11th, in the fifth and Paul Goldschmidt, his 27th, before being lifted in the sixth but got the victory, giving up only two other hits over 5 1-3 innings. He is 5-0 in his career against the Diamondbacks, 3-0 the last two seasons, and is 5-0 in six starts since July 5.
Bryant singled in each of the first two innings as the Cubs scored three times against Walker, and finished 3-for-3 with a walk and a hit by pitch. Avila, hitting .182, drove in two runs.
Walker, winless in his last eight starts, was allowed to bat in the fifth despite already throwing 100 pitches to that point -- he struck out -- and then gave up the successive homers to Schwarber and Avila to start the sixth.
The Cubs, playing at Chase Field for the first time since taking three of four there during their first road series in 2016, opened a 2-0 lead in the first with a lot of help from Walker's wildness.
Kris Bryant singled into the hole at shortstop and, one batter later, Ben Zobrist singled to center. Schwarber walked to load the bases.
Avila, recently acquired from Detroit and now filling in at catcher for the injured Contreras, then drew a walk to force in a run. With Jason Heyward at the plate, the second run of the inning scored as Chris Herrmann got crossed up with Walker on a breaking ball that bounced away from the catcher for a passed ball.
Walker's wildness continued an inning later when he hit Jon Jay with a pitch with two out, and Jay then stole second ahead of Bryant's run-scoring single.
Lackey, 2-0 against Arizona in 2016, allowed four runners over the first two innings by walking three and giving up Herrmann's two-out single in the second. But he got Goldschmidt to ground into an inning-ending double play in the first and struck out Walker with runners on first and second to end the second.
Arizona finally got to Lackey in the fifth when Herrmann singled for the second time and Peralta drove an 0-1 pitch into the right-field seats for his 11th homer, making it 3-2 Cubs.
NOTES: A sure sign the Cubs and their many fans were in town: Some independent parking lots near Chase Field raised their normal weekday prices of $5 to $7 to $25 and $30. The attendance was 39,131. ... Cubs C Willson Contreras, second on the team with 70 RBIs, will be out an estimated four to six weeks with a strained right hamstring. C Victor Caratini was recalled from Triple-A Iowa to take his place. ... Cubs manager Joe Maddon hasn't decided whether Caratini or C Alex Avila will get the majority of starts. ... Arizona All-Star LHP Robbie Ray, out since taking a line drive to the head July 28 at St. Louis, will pitch a simulated game Saturday at the Diamondbacks' spring training complex. He'll likely make a minor league rehabilitation start after that. ... Cubs OF Kyle Schwarber played at Chase Field for the first time since badly tearing two knee ligaments during a collision there on April 7, 2016. He was supposed to miss the rest of the season, but returned to go 7-for-17 during the World Series against Cleveland.