SAN FRANCISCO -- The Colorado Rockies lost starter Jon Gray early with a re-aggravated toe injury, so they turned to solid relief pitching and strong defense -- and got just enough from their sputtering offense -- to beat the San Francisco Giants.
Trevor Story hit a two-run homer and five Colorado pitchers combined on a five-hitter in the Rockies' 3-1 victory on Thursday night. The Giants loaded the bases with one out in the ninth, but Greg Holland -- who notched his sixth straight save this season -- got Eduardo Nunez to ground into a game-ending double play.
"Tonight we pitched really well and played good defense," Rockies manager Bud Black said. "Your starter gets knocked out early, and your bullpen comes through."
Gray left with a re-aggravated toe injury after allowing one hit in three scoreless innings. Chris Rusin (1-0) pitched the next 3 1/3 innings, allowing one run and two hits. Adam Ottavino got four straight outs, Mike Dunn got one more and Holland pitched the ninth -- getting out of trouble after the Giants loaded the bases on two infield singles and a walk.
"We owe ourselves two or three comebacks, because we've lost some tough ones," Giants manager Bruce Bochy said. "You'd like to think tonight was going to happen. But we came up short. It's hard to win a ballgame when you score just one run."
Gray, who originally hurt the big toe on his left foot during spring training, said he reinjured it while leaping to snag a high hopper in the second inning. He had X-rays taken, but Black said the team wouldn't know the severity of the injury until Friday morning and couldn't speculate on whether Gray will make his next start.
"I just have to stay off it and give it some rest," Gray said after the game. "If I were to try to run right now, it would be tough."
Story's first home run of the season came with two outs in the fourth inning against Giants starter Madison Bumgarner (0-2), who allowed three runs and six hits in six innings. He struck out eight. It is the worst start to a season for Bumgarner, a four-time All-Star, since he went 0-6 in his first eight starts in 2011.
"All you can do is control what you can control. You go out there and do your job," Bumgarner said. "And at the end of the day, if you can keep your team in the game and give them a chance to win, that's all you can do. There's no need to add any unneeded pressure on yourself."
Mark Reynolds added a run-scoring single in the sixth inning for the Rockies.
The Giants' only run came on a sacrifice fly by Nunez in the seventh inning.
Shortstop Brandon Crawford was not in the starting lineup for the Giants after driving to Los Angeles on Wednesday night with his wife, Jalynne, to join her family after the death of her oldest sister. He rejoined the team before Thursday night's game and pinch-hit in the eighth inning, grounding out to first base on the first pitch he saw.
GRAY'S NEW LOOK
Gray was making his first start since having eight inches of his hair cut and donated to Locks of Love, a nonprofit that provides hairpieces to financially disadvantaged kids under age 21 suffering from long-term hair loss due to a medical reason.
BELT ENDS SLUMP
Brandon Belt's single in the seventh inning for the Giants ended an 0-for-18 slump. He grounded out in the ninth inning,
Rockies: 1B Ian Desmond, who broke his left hand during spring training, has started to play catch and take a few ground balls, Black said, adding that "these are good signs for Ian." Desmond is with the team, but no timetable for his return has been set, Black said.
Giants: C Buster Posey is lifting weights and doing some cardio workouts as he recovers from concussion symptoms. Bochy said he's optimistic Posey will be able to return April 18 when he comes off the disabled list. "He's feeling good, he's doing well," Bochy said. "We're going to ramp it up a little bit and see how he does."
Rockies: Tyler Anderson starts the second game of the four-game series in San Francisco.
Giants: Johnny Cueto faces the Rockies, against whom he is 5-0 with a 1.33 ERA over his last seven starts. He went 3-0 with a 1.19 ERA in four starts against Colorado last season.
Fantasy baseball closer stock watch: Remember Michael Fulmer?
Eric Karabell takes his weekly look at the never-ending carousel of fantasy baseball closers, including a former Rookie of the Year returning to the fantasy mix in Detroit.
New York Mets OF Kevin Pillar has multiple nasal fractures after being hit in face by pitch
Mets outfielder Kevin Pillar has multiple nasal fractures after being hit in the face by a 94 mph fastball in Monday night's win over the Braves.
Fantasy baseball forecaster: Team hitting ratings
Stay ahead of the game and optimize your fantasy baseball hitters with our forecaster, which provides a rolling 10-day outlook of every team's hitting matchups as well as the potential for stolen bases.
Fantasy baseball forecaster: Pitcher projections for the next 10 days
Keep up to date on who is pitching -- and how well they're expected to do -- with our forecaster, which provides a rolling 10-day outlook of every team's probable starting pitchers with game score projections.
MLB's new dead ball era: How much is changing the baseball actually changing baseball?
We crunch the numbers to find out if the new ball is helping or hurting -- or even making any difference at all.
Taillon scheduled to start for New York against Texas
New York Yankees (22-19, fourth in the AL East) vs. Texas Rangers (19-24, fifth in the AL West)