Wade Miley (6-6) went seven innings, allowing three runs and seven hits, striking out seven with one walk. He is 3-0 in his last four starts.
"Tried to make quality pitches and get ahead of guys," Miley said.
The Diamondbacks tagged Cubs starter Travis Wood (7-9) for seven runs — five earned — on eight hits. He lost his third straight start.
The Cubs have lost four in a row and 10 of 12.
"I threw a pitch that kind of sat there and he made me pay for it," Wood said of Montero’s double. "That is what he is able to do."
The Cubs got a run to start the game on three straight singles with one out, the third hit coming from All-Star Starlin Castro to drive in Justin Ruggiano.
If not for a leaping catch at the wall in dead center field by the Diamondbacks’ Ender Inciarte, the Cubs might have added on more runs. Welington Castillo’s long fly ball looked like it would bounce off the wall for extra bases, but Inciarte tracked it down for the second out of the inning and Miley got out of the inning without further damage.
"You go back and look at games, how they’re won and lost, that’s one of those plays you look at," Gibson said. "That’s one of the things he can do and he did a heck of a job for us."
Goldschmidt scored on Montero’s single with help from an error on the play, hustling around third after Cubs center fielder Arismendy Alcantara bobbled the ball. His throw beat Goldschmidt to home plate, but Goldschmidt avoided the lunging tag from Castillo and scored to tie it at 1.
Alcantara, 22, was making just his second start in center field after only seven big league games.
"I was thinking of sliding straight in, but I could tell the way the catcher moved that if I slid straight, I was just going to slide right into his glove," Goldschmidt said. "Just tried to go around him and fortunately was able to do that."
The Cubs plated a pair of fourth-inning runs. Castillo hit a line-drive home run into the seats in left field to lead off the inning, and Junior Lake legged out a triple into the left-field corner and scored on a sacrifice fly from Mike Olt.
The Diamondbacks made it 7-3 in the sixth inning thanks to an RBI double from Goldschmidt and a dribbler up the third-base line from Mark Trumbo that went for an infield hit.
Arizona improved to 10-3 in the last 13 games against Chicago.
"We had a play here and there that made the game open up, but we just weren’t able to grind it out and put runs across," Cubs manager Rick Renteria said.
Diamondbacks right fielder Cody Ross left the game with left calf tightness after singling to lead off the bottom of the second inning. He was replaced before the top of the third by Gerardo Parra.
Gibson said it might have been a cramp for Ross and that he seems OK.
NOTES: Diamondbacks SS Chris Owings is shut down for three days, manager Kirk Gibson said, due to left shoulder soreness. Owings has been on the disabled list since June 29. … Jordan Pacheco (right shoulder soreness) continues his rehab assignment with the rookie league Diamondbacks on Sunday. He’s been hitting and playing games at playing at second base and designated hitter. … Arizona shortstop Nick Ahmed’s double in the sixth inning was the first of his big-league career.