SAN FRANCISCO — After homering in three straight games, Carlos Gonzalez was in prime position to pad his RBI total when he came up with runners in scoring position in his first three at-bats.
Each time, the Rockies slugger struck out.
He wasn't the only Colorado hitter who struggled, either.
One day after losing on a game-ending inside-the-park home run, the Rockies wasted numerous early scoring opportunities against San Francisco starter Matt Cain then made a critical error that led to three unearned runs in the fifth inning of a 7-3 loss to the Giants on Sunday.
"I left a lot of runners on base," said Gonzalez, who also flew out in the seventh after Colorado's first two hitters reached base. "We didn't execute in situations. (Cain) just keep getting stronger later on."
The Rockies stranded runners at second and third in each of the first two innings and left a runner at third in the fifth and sixth.
That was pivotal because the Giants broke a 2-all tie in the fifth when Brandon Belt hit a two-run double after second baseman D.J. LeMahieu's two-out error extended the inning.
Even when things went well for Colorado, it turned sour.
Michael Cuddyer hit a two-run double off Cain in the first but left with a bruised right forearm after getting hit by a pitch leading off the sixth. X-rays were negative.
"I felt like we had Cain in trouble but to his credit, he pitched a lot like he did at our place," said Rockies manager Walt Weiss. "He bent but he didn't break. He's one of the better pitchers in the league and there's a reason for it."
Cain (4-2) matched his season high of five walks but allowed only two runs and two hits in five innings. He retired 11 of his 12 and improved to 17-7 against the Rockies.
Colorado didn't do much at all offensively.
Cleanup hitter Troy Tulowitzki went hitless after drawing a walk in his first plate appearance while Dexter Fowler reached base four times but scored just once.
That wasted a steady outing by Colorado starter Jon Garland.
In his first appearance at AT&T Park, Garland (3-6) allowed five runs – two earned – seven hits and four walks in five innings. While the Rockies swept a three-game series from the Giants in Denver two weeks ago, Colorado is 1-5 this year in San Francisco, where the Rockies have lost 12 of their last 15.
"I feel like I threw a lot better than the results," said Garland, who is winless in his last four starts. "Even with the (error) I still had a chance to help us out, and I didn't."
Buster Posey homered and Andres Torres added two hits and an RBI to help the Giants close a six-game homestand with consecutive wins. The defending World Series champions play 14 of their next 18 games on the road.
Six pitchers combined for one-run relief, keeping San Francisco tied with Arizona for the NL West lead.
Posey's seventh homer trimmed the deficit to 2-1 in the second, and Brandon Crawford tied it when he hit into a run-scoring forceout in the fourth.
Belt walked in his first two plate appearances before doubling off Garland to break a 2-all tie. The drive followed LeMahieu's error on Hunter Pence's high popup to short right field.
Torres' RBI double drove in Belt for a 5-2 lead. Pence added a two-run double in the eighth against Edgmer Escalona.
NOTES: Jordan Pacecho had an RBI single in the eighth and is 3-for-12 as a pinch-hitter this season. ... Colorado RHP Jhoulys Chacin (3-3), who starts against Houston on Monday, hasn't won since April 19.