PHOENIX — At last, Patrick Corbin has that elusive 10th victory.

The 23-year-old left-hander gave up three hits in eight innings and the Arizona Diamondbacks beat Colorado 6-1 Sunday for their fifth straight win and a dominant three-game sweep of the Rockies.

Corbin (10-1) struck out 10 in his seventh attempt at win No. 10.

"He deserved it a long time ago," Arizona catcher Miguel Montero said. "Obviously he hasn't had run support. That's why it's been tough. ... He should be 15-0, to be honest."

Picked a day earlier for the All-Star team, Corbin also hit an RBI double as the Diamondbacks outscored the Rockies 22-2 in the series.

"It felt like every inning I got a little bit stronger," Corbin said. "Just one first pitch right down the middle for the homer, but other than that I felt good with my changeup and my slider."

The slider was particularly devastating to the aggressive Colorado batters.

"They couldn't lay off it," Corbin said.

His previous 10-strikeout performance also came against Colorado.

The Rockies lost more than the game. Star outfielder Carlos Gonzalez left after swinging at a pitch in the ninth inning. Afterward, he said it was a sprain and nothing serious. He said it first bothered him when he struck out in the sixth inning.

Starter Roy Oswalt (0-4) exited with what initially was called a strained left hamstring in the second. Oswalt's injury could keep him out for some time because he said he "heard it pop."

"We lose Oswalt in the second inning and things aren't going well, then I hurt myself with a swing," Gonzalez said. "We are going through a bad moment. I hope it will get better. We are in a bad situation right now. We have to play better. We just don't look the same, playing. It is a bad time. "

Jonathan Herrera broke up the shutout with a home run in the eighth.

Aaron Hill doubled twice and drove in two runs for Arizona. Paul Goldschmidt had an RBI double.

The sweep followed a rough road trip that saw the Diamondbacks lost seven of eight before salvaging the final two against the Mets in New York, exhausting the bullpen in the process.

Then each of Arizona's starters in the Colorado series — lefties Tyler Skaggs, Wade Miley and Corbin — went eight innings. Montero called them "the young busters."

"They (Skaggs and Miley) did a great job and I wanted to go out there and try and do better than them," Corbin said. "When we're putting up runs early like that it makes it a little bit easier on us and I feel like we can throw our game a little bit more."

Josh Collmenter pitched a scoreless ninth for the Diamondbacks on Sunday.

Corbin gave up a single and walk in the first, then retired 12 in a row and 20 out of 21 before Herrera's home run. He joins Randy Johnson, Curt Schilling and Brandon Webb as the only Arizona pitchers with 10 wins before the All-Star break.

The Rockies, playing the first three of 10 straight road games against NL West foes before the break, came to Arizona 2½ games behind the first-place Diamondbacks and left 5½ out. Colorado has lost six of seven.

Gonzalez, who sat out the series opener with a sore back, took a swing at the first pitch he saw in the ninth and hurt a finger. The trainer came out to look at it and after a tentative practice swing, Gonzalez left the game.

Eric Chavez led off the Arizona second with a double and took third on a groundout. Miguel Montero struck out, then with Jason Kubel at the plate, Oswalt spiked a pitch that bounced past catcher Wilin Rosario. Oswalt ran to the plate to cover as Chavez scored but came down awkwardly and immediately had trouble walking as he went to the dugout.

"I never had a hamstring pull in my life. I don't know the timetable on it," Oswalt said. "I felt it when I was trying to slow down. They got it so wet around the plate I kind of slipped. I was trying to change direction a bit. He threw the ball up a little bit. I don't really know exactly when it popped. I just felt it pop and knew right away that there was no way I was going to be able to go back on the mound."

Reliever Edgmer Escalona came on and got in trouble in the second.

He walked Corbin to start the inning, then Gerardo Parra hit his second single of the game. Hill hit a two-run double into the left-field corner, then stole third before Goldschmidt doubled.

Goldschmidt, like Corbin headed to his first All-Star game, leads the NL with 74 RBIs.

Corbin was helped by some big defensive plays. Goldschmidt made a leaping grab at first base to rob Herrera and end the second, and Chavez backhanded Rosario's sizzler to third and threw to first for the final out of the fourth.

NOTES: The Diamondbacks announced a makeup game at Texas for Aug. 1. ... As expected, LHP Tyler Skaggs will start for Arizona on Wednesday night against the Los Angeles Dodgers. ... The Dodgers send Zack Greinke (6-2, 4.30 ERA) against Arizona's Randall Delgado (1-2, 3.67) in Monday night's series opener. ... The Rockies go to San Diego, where Tyler Chatwood (4-2, 2.75) starts against Edinson Volquez (6-6, 5.26) in Monday night's opener. ... Arizona has seven left in a 10-game homestand leading to the break.