Daulton Varsho hit a three-run homer and finished a single short of hitting for the cycle to lead the Arizona Diamondbacks over the Colorado Rockies 8-4 on Sunday for a rare win at Coors Field.

Taylor Widener (2-1) tossed five innings of one-hit ball to help Arizona end a seven-game losing streak in Denver. Widener allowed a run, walked five and struck out five to pick up his first win since April 4.

CLICK HERE FOR MORE SPORTS COVERAGE ON FOXNEWS.COM

Colorado had won five straight and nine in a row at home.

Jon Gray (7-10) has lost four straight starts, all in August, and saw his ERA rise to 6.75 for the month. He allowed five runs on six hits in 5 1/3 innings, struck out eight, walked three and threw a season-high 108 pitches.

Gray kept Colorado close before he couldn't find the strike zone in the sixth inning, and the Diamondbacks took advantage without getting a hit.

Gray walked Josh VanMeter and Drew Ellis with one out before being relieved by Lucas Gilbreath, who walked two more to drive in a run. Robert Stephenson brought home another run with the fifth base on balls of the inning to make it 5-1.

Christian Walker hit a solo homer in the seventh, his sixth of the season. Varsho tripled in the ninth to drive in another run.

The Rockies led 1-0 on Ryan McMahon’s RBI double in the first but Arizona strung together four straight hits in the second to take the lead. McMahon also had a run-scoring single in the two-run eighth.

VanMeter singled, Ellis doubled and Varsho hit his second home run of the series and eighth of the year to put Arizona ahead 3-1 in the second.

CLICK HERE TO GET THE FOX NEWS APP

TRAINING ROOM

Rockies: OF Ramiel Tapia (right big toe strain) did some running on the infield before the game. He ran in the outfield on Friday and his next step is to sprint out of the batters box.

UP NEXT

Diamondbacks: Have not announced a starter for Monday for the first of a three-game series at Pittsburgh.

Rockies: RHP Antonio Senzatela (2-9, 4.58) is seeking his first win since June 2 when Colorado opens a three-game series at the Chicago Cubs on Monday night.