Garrett Hampson had four hits for the Rockies, who swept the three-game series and improved to 28-16 at home. Colorado is just 6-31 on the road.
A day after being no-hit by Germán Márquez for eight innings, the Pirates jumped on Gray for their first runs of the series. Adam Frazier led off the game with a triple, scored on a sacrifice fly and Bryan Reynolds hit his 14th homer for a quick 2-0 lead.
“I saw the first two pitches and then sold out for the heater,” Reynolds said.
Gray (5-6) didn’t give up another hit before leaving four a pinch-hitter in the sixth. He walked four — one intentional — hit a batter and struck out five to continue the strong run of outings by Colorado starters.
“A start like this is the ones I appreciate the most,” Gray said. “You can be down three or four runs early on and you stretch it out to six innings, seven innings sometimes, our offense has a chance to catch up.”
Gray needed 27 pitches to get through the third and worked around traffic in the fourth and fifth innings. He finished with 95 pitches, 52 for strikes.
“It says a little something about Jon’s competitiveness, his ability to make pitches in certain parts of the game,” manager Bud Black said. “We’ve seen him sharper but he battled through it. Jon deserved the ‘W’ in this one because he battled hard.”
The three starters in the series combined to allow just two runs and six hits over 20 innings. Pittsburgh finished with only nine hits in the three games.
“We came into this series swinging the bats pretty well in St. Louis and did not swing the bats well this series at all,” Pirates manager Derek Shelton said.
C.J. Cron led off the Colorado fourth with his 11th home run. The Rockies scored two more in the fifth off Pittsburgh starter Chad Kuhl (2-5).
A combined four hits in the sixth against relievers Chris Stratton and Sam Howard added two more runs and Colorado tacked on another in the seventh.
Pirates: INF Colin Moran was out of the lineup for the second straight game. He was hit by a pitch on the left wrist in Monday’s game. … LHP Steven Brault (left lat strain) was slated to throw two innings of a simulation game in Bradenton, Florida, on Wednesday. … RHP Trevor Cahill (left calf strain) has resumed running.
Rockies: RHP Mychal Givens (back) is scheduled to throw in rehab games with Triple-A Albuquerque on Thursday and Friday. … LHP Kyle Freeland, who left Monday’s game with a tight right hamstring, was throwing on the field before the game.
Kuhl said he developed a blister during the game that impacted how he was able to pitch.
“Started bothering me in the fourth and it broke off in the fifth,” Kuhl said. “I felt like I was throwing the ball well. Poor timing.”
Kuhl scattered three hits over the first three innings but lost his command as the blister worsened.
“He was having some trouble gripping the ball and that’s why we saw the command go away,” Shelton said. “For the first three innings he was really good.”
Black celebrated his 64th birthday on Wednesday. Black never pitched on his birthday in his 15-year major league career but is 8-3 as a manager on June 30th.
Pirates: RHP Wil Crowe (1-4, 6.50 ERA) opens a seven-game homestand when he faces the Milwaukee Brewers on Thursday night.
Rockies: RHP Antonio Senzatela (2-7, 4.76) takes the mound when Colorado faces St. Louis in Nolan Arenado’s first trip to Coors Field since he was traded to the Cardinals in the offseason.
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP_Sports