In the Rockies' eighth, Cabrera in left and Crawford at short lost a Rutledge popup, but that didn't hurt nearly as much as the one the Rockies lost in the bottom of the inning.
"The ball was closer to the shortstop -- I was trying to play 'no doubles,' over the gap -- but it was a tough play for him," Gonzalez said.
Buster Posey added a sacrifice fly against Rafael Betancourt to end a 10-pitch at-bat and tie the game.
"Those are moments that make this game so exciting," Giants manager Bruce Bochy said. "They had their closer out there. He throws great and is having a great year, and you have a great hitter with the game on the line. He kept coming at him, and Buster was just fouling them off. It's what you live for, that kind of competition, and Buster found a way to get it done. That was big for us."
Then Pence victimized Betancourt with his 18th homer of the season -- the first since joining the Giants in a trade with the Phillies.
The Giants took two of three from the last-place Rockies and maintained their lead over the Dodgers in the division. Before the Giants' comeback, the Rockies were in position for their first winning road trip of the season. They still went 3-3 against the Giants and Dodgers for their first non-losing road trip since April 20-25, when they went 3-3 at Milwaukee and Pittsburgh.
"We did everything we could do to try to win the game -- played with heart, played with energy," Rockies manager Jim Tracy said. "The key to the eighth inning was the leadoff popup that fell. I really believe if we record that out, everything's going to go fairly clean. It didn't.
"The sun's tough over there. I've seen it here. I've seen it on television when I watch it. You get further into the game, the sun is blinding. I saw Josh when the ball went up and No.1, he didn't have a beat on it, and, No. 2, he didn't see it."
The big inning made a winner of Clay Hensley, who forced Dexter Fowler to hit a fly ball to end the eighth with two on base, and Sergio Romo earned his sixth save.
Rockies starter Alex White faced nine batters in the first inning and gave up three runs. He was especially hurt when the Rockies botched a rundown between third and home. Still White pitched scoreless ball the next three innings and the game was tied, 3-3, when he left.
The Rockies were effective offensively against Giants starter Barry Zito (four runs, seven hits in 5 1/3 innings), with consecutive RBI doubles by Eric Young Jr. and Rutledge in the third, and White's sacrifice fly in the fourth.
Rockies reliever Carlos Torres was shaky at first. He walked two in the fifth and gave up a Ryan Theroit RBI double, but nothing more in his two frames. In the Rockies' sixth, Jordan Pacheco singled to chase Zito with one out and stole second, DJ LeMahieu doubled off George Kontos to tie the score. Then Torres lined a single up the middle to score LeMahieu, and Pacheco added a sacrifice fly in the seventh for a two-run lead until the sun ended up costing the Rockies.
"It's all right, those things happen," White said. "They missed a couple of balls out there, too. You can't do anything about it. Rutledge is a good player, a great shortstop. That's really not his fault at all."