"Until this year I was always the guy who came in when the game was lopsided either way and usually when we were behind by a lot," Vogelsong said. "To be counted on to win games, it's awesome, just a great feeling. It's a role you need to do and not just hang out and be a sideshow."
Chris Iannetta homered for the Rockies, who are 4-12 in their last 16 games and have not won back-to-back games since May 16-17.
Vogelsong (4-1) matched his career high with eight innings, giving up a run on four hits. He walked one and struck out seven. He's allowed one run or less in each of his past six starts. Brian Wilson worked the ninth for his 17th save in 19 chances.
Until this year, Vogelsong hadn't pitched in the major leagues since 2006. He spent three years in Japan and shuffled between three organizations last season.
"It was a long road for him but he never gave up," Giants manager Bruce Bochy said. "He kept grinding to get back to the major leagues. That's one of the best stories I've seen since I've been in the game."
With Barry Zito beginning his minor league rehab assignment in San Jose on Monday night, the rotation could get a little clogged up.
"Voggy is not going anywhere," Bochy said. "He's going to pitch every fifth day. We might have to get a little creative here. We're just starting to talk about it now."
Matt Lindstrom (0-1) walked pinch-hitter Pat Burrell to open the eighth inning, and pinch-runner Emmanuel Burriss was sacrificed to second by Vogelsong. Burriss went to third on a wild pitch and scored easily on Torres' tiebreaking single.
The teams combined for 10 runs in the three-game series.
"Got to hit, that's all I've got," Rockies manager Jim Tracy said. "You give up two runs, you should win. It's that simple. We gave up six runs in the series but we only scored four."
Rockies starter Jason Hammel retired 17 of his first 18 batters. He allowed one run and two hits in seven innings, walking two and striking out four.
"It's hard knowing he's out there working so hard for us," Colorado outfielder Carlos Gonzalez said. "To not score any runs for him is difficult. It's tough to lose a game like that."
One pitch after Vogelsong thought he caught him looking at strike three for the final out of the fifth, Iannetta hit his eighth home run, a shot that easily cleared the left-field fence.
"I snap a little and get it out of the way," Vogelsong said. "In tight games you have to go back out and pitch. I just slammed my glove down a few times and said a few things you probably don't want to write."
Hammel carried a no-hitter into the sixth. He got the first two outs but walked Torres. Tejada ended the no-hit bid with a hit-and-run single and Sanchez followed with his RBI single.
"He lost command there for a brief moment but because of what's not taking place for us offensively, that's all it takes," Tracy said. "It comes back to we didn't hit. We were 1 for 12 with seven strikeouts with our 2-3-4 hitters. It's not the first day we've had to deal with this. It's what is holding this team up."
Hammel has thrown one career complete game -- a loss at Los Angeles in July 2009.
Giants 1B Brandon Belt was placed on the 15-day disabled list and replaced on the roster by INF Conor Gillaspie. ... Rockies OF Dexter Fowler was out of the starting lineup with a sore abdomen. ... Giants C Buster Posey visited the clubhouse for the first time since undergoing surgery on his left leg. ... Hammel needs two strikeouts to match Bruce Ruffin (319) for 14th on the Rockies' career list. ... Torres was picked off first base in the eighth after getting picked off at second Saturday.