PHOENIX -- John Lackey won his fifth straight start and the Chicago Cubs opened a weekend series in the desert with an 8-3 victory over the Arizona Diamondbacks on Friday night.
Kyle Schwarber and Alex Avila hit consecutive home runs off Taijuan Walker (6-6) to start the sixth inning after David Peralta's two-run shot had cut the Cubs' lead to 3-2 in the fifth.
Paul Goldschmidt's solo homer with one out in the sixth ended Lackey's night. Lackey (10-9) allowed three runs on four hits in 5 1/3 innings, struck out seven and walked three, throwing just 85 pitches.
He has won five in a row for the third time in his career but first since June 6-29, 2008.
Walker went five innings plus two batters, giving up five runs, four earned, to fall to 0-3 in his last eight starts.
The Cubs, who lost two of three at home to the Diamondbacks just over a week ago, won for just their third time in nine games to stay a game up on St. Louis in the NL Central. The Diamondbacks have lost five of six and are 1-3 halfway through an eight-game homestand against the Dodgers, Cubs and Houston. Arizona's lead over St. Louis for the NL's second wild-card spot is down to 4 1/2 games.
Walker walked Avila on four pitches with the bases loaded and two outs to bring in the initial Cubs run in the first. Ben Zobrist made it 2-0 when he scored from third after Walker crossed up catcher Chris Herrmann with a curveball for a passed ball.
In the second, after two outs, Jon Jay was hit by a pitch, stole second and scored on Kris Bryant's single to boost Chicago's lead to 3-0.
Lackey retired eight in a row before Herrmann reached on his second infield single. After Walker failed to get a bunt down, Peralta lashed Lackey's 0-1 pitch into the right field seats to cut the lead to 3-2.
Even though Walker had thrown 100 pitches and three left-handed batters were coming to the plate, Arizona manager Torey Lovullo put the right-hander back on the mound to start the sixth. Schwarber and Avila responded with home runs, both on 1-2 pitches, and Chicago led 5-2.
The Cubs put it away with consecutive RBI singles by Javier Baez, Ian Happ and Jay off T.J. McFarland in the eighth.
Avila was in the lineup at catcher after the Cubs placed Willson Contreras on the DL earlier in the day with a moderate right hamstring strain.
Cubs: Contreras, injured running to first base at San Francisco on Wednesday, is expected to be sidelined 4-6 weeks. The Cubs recalled C Victor Caratini from Triple-A Iowa.
Diamondbacks: Lovullo said LHP Robbie Ray, out for concussion protocol after being hit in the head with a line drive, will throw a simulated game Saturday.
Jon Lester (8-6, 3.97), 3-0 with a 3.03 in five starts since the All-Star break, goes for Chicago and Patrick Corbin (8-11, 4.76) starts for Arizona on Saturday night in a matchup of left-handers in the second game of the three-game series.