DENVER -- Paul Goldschmidt homered twice and drove in five runs, helping Zack Greinke and the Arizona Diamondbacks beat the Colorado Rockies 6-3 on Friday night.
Goldschmidt hit a solo shot in the first and a three-run drive in the third, giving him homers in three straight at-bats and his 10th career multihomer game. He later added an RBI single to continue his feast on Colorado pitching. Goldschmidt has reached safely in 57 of his last 58 games against the Rockies.
Greinke (3-2) baffled Colorado all night, allowing two runs over seven innings to help the Diamondbacks pull within a half-game of the front-running Rockies in the NL West. His biggest mistake was a belt-high fastball to Mark Reynolds, who lined it to left-center for his ninth homer.
Colorado right-hander German Marquez (0-2) was roughed up for five runs in six innings. He pitched six scoreless innings at Arizona on Sunday.
Colorado threatened in the ninth by loading the bases off Archie Bradley with no outs. Bradley struck out Dustin Garneau -- the play was reviewed to see if it possibly hit him -- before giving way to Fernando Rodney. Pinch hitter Pat Valaika drove in a run on a grounder before Rodney retired Charlie Blackmon on a sky-high fly to earn his eighth save.
David Peralta returned to Arizona's lineup after being limited to one at-bat during the three-game series in Washington because of an illness. He drove in a run with a grounder. A.J. Pollock finished with a triple and a double.
Marquez may have figured out the best way to handle Goldschmidt: Don't give him anything near the strike zone. Marquez walked the first baseman on five pitches in the fifth.
Two innings later, Goldschmidt reached his bat way out for a run-scoring single. He has at least one RBI in six straight games at Coors Field.
Diamondbacks: LHP Patrick Corbin (2-3, 2.29 ERA) took a no-decision in his start last Sunday against Colorado. He allowed no runs in 6 1/3 innings.
Rockies: LHP Tyler Anderson (1-3, 7.71 ERA) seeks his first win at home since Aug. 31.