The 23-year-old Corbin (10-1), who last enjoyed a winning start on June 2, ended his drought just one day after being named a National League All Star.
Corbin tossed eight strong innings and had 10 strikeouts for first-place Arizona (47-41), winners of five straight.
The Rockies suffered an injury to outfielder Carlos Gonzalez, who left after swinging at a pitch in the ninth inning, as well as pitcher Roy Oswalt who exited in the second inning with a hamstring ailment.
In St. Louis, Lance Lynn's 11th win of season allowed the Cardinals to beat Miami 3-2 and catch Pittsburgh for first place in the NL Central.
Lynn (11-3), who had lost his last two starts, tossed seven innings and allowed two runs to catapult St. Louis to the big triumph.
Matt Holliday hit a home run in the first and the home team added two runs in the third where Carlos Beltran stole home.
The Cardinals' (53-34) third straight win vaulted them to tie the Pirates (53-34) who fell 4-3 to the Chicago Cubs in 11 innings.
In the American League, Michael Brantley blasted two home runs as Cleveland topped Detroit 9-6 to gain ground in their division race.
Brantley's big day included three hits, five RBIs and the go-ahead swing that broke a 6-6 tie with his two-run homer in the eighth.
The Indians pulled within 2 ½ games of the first-place Tigers. Detroit slugger Miguel Cabrera enjoyed a 4-for-4 outing and hit his 28th homer of the season in the loss.
In New York, Adam Jones hit a two-run home run against Mariano Rivera in the ninth inning to give the Baltimore Orioles a dramatic 2-1 win against the Yankees.
Rivera came on in the ninth looking for his 30th save of the year, but instead took the loss after Nick Markakis singled and Jones delivered the winning blow.
- Sports & Recreation