A day that began with Kris Bryant's return to the disabled list ended with a late power surge by the Chicago Cubs.
David Bote hit a tying, two-run homer off Brad Boxberger with one out in the ninth inning, Anthony Rizzo followed two pitches later with a winning home run and the Cubs overcame a five-run deficit to beat the Arizona Diamondbacks 7-6 on Thursday.
Bote was called up when Bryant was put on the DL because of inflammation in his left shoulder. Bote drove a thigh-high 0-2 fastball about a half-dozen rows in the bleachers in left-center for his second home run this season, tying the score 6-6.
"It was a great feeling," Bote said. "Just seeing it go out, tied game. Of course, Rizzo hitting that ball to walk off was incredible."
Rizzo took a strike, then sent a thigh-high changeup to the top of the bleachers in right-center for his 13th homer, but first since June 24.
"It felt good, that was a nice win," Rizzo said.
Boxberger (1-4) blew a save for the fifth time in 29 chances. He had walked pinch-hitter Ben Zobrist starting the ninth.
"I felt like the ball was coming out good today," Boxberger said "I felt like I had a good plan."
Nick Ahmed hit his first career grand slam in the fifth, an inning after Alex Avila's two-run homer, as the Diamondbacks built a 6-1 lead.
"We were unable to get shutdown innings when they got some scratch runs," Arizona manager Torey Lovullo said. "You give a team like that an extra beat, and they're going to take advantage of it."
Chicago got two runs in the fifth on Anthony Rizzo's RBI single and run-scoring grounder by Albert Almora Jr., who reached when third baseman Daniel Descalso allowed his potential inning-ending, double-play grounder to bounce away for an error.
Kyle Schwarber scored from third base with two outs in the sixth when Javier Baez reached while striking out as Zach Godley bounced a breaking ball for a wild pitch.
"Our guys did not stop." Cubs manager Joe Maddon said. "It's tough because they really have a good bullpen."
Eddie Butler (1-1), the fifth Chicago reliever, retired Jon Jay on a flyout that stranded two runners in the ninth.
Cubs starter Tyler Chatwood allowed four runs, five hits and six walks in 4 2/3 innings. Chatwood leads the major leagues with 85 walks and has a 7.71 ERA in his last five starts.
Godley gave up four runs and seven hits in 5 2/3 innings.
RHP Matt Andriese joined the Diamondbacks, a day after he was acquired from Tampa Bay. RHP Randall Delgado was designated for assignment. Manager Torey Lovullo said Andriese (3-4, 4.07 in 27 games with Tampa Bay) would be used in roles ranging from three outs to three innings.
Bote was recalled from Triple-A Iowa for the fifth time this season. He saved a run with the bases loaded in the second when he slid to his left to grab David Peralta's grounder.
Diamondbacks: 3B Jake Lamb left in the third because of a bruised left shoulder. He'll travel with the team to San Diego and be evaluated on Friday.
Cubs: INF Javier Baez was held out of the starting lineup for a second straight day because of a bruised left knee. He pinch hit in the sixth and remained in the game at shortstop.
Diamondbacks: RHP Zack Greinke (11-5, 3.05) faces RHP Luis Perdomo (1-5, 6.99) at San Diego on Friday to begin a three-game series.
Cubs: LHP Mike Montgomery (3-3, 3.73) takes the mound against Cardinals RHP Luke Weaver (11-6, 4.65) in the opener of a three-game set in St. Louis on Friday.