DENVER -- Madison Bumgarner had all sorts of trouble throwing his fastball. He had no problems hitting one.
The young lefty hit a three-run homer on a night when he struggled on the mound, and the San Francisco Giants held on for a 9-8 win over the Colorado Rockies in rainy conditions Tuesday.
"I'm all for helping us win. But my job is to go out there and pitch, not to hit," Bumgarner said. "I'd like to go out there and pitch better than that."
Bumgarner was roughed up by the Rockies, allowing five runs and 11 hits in 4 1-3 innings. Still, he gave the Giants a big boost with his bat, sending a 93 mph fastball from Jhoulys Chacin into the left-field seats.
Sitting on that fastball?
"I'm just trying to hit the baseball," he said.
It's definitely a pitch Chacin would love to have back.
"I know he's a good hitter, and in those situations you can't miss your spot," Chacin said. "It was a really bad pitch to him."
Brandon Belt had a big night at the plate as well, breaking a tie in the fifth with a two-run double. He also brought in a run on a fielder's choice and added a solo homer for the NL West leaders, who are 20-7 on the road since the All-Star break.
With Bumgarner's early exit, the Giants' bullpen picked up the slack and allowed just one run heading into the ninth.
But that's when things got interesting. Sergio Romo entered the game and allowed a two-out, two-run homer to pinch-hitter Tyler Colvin. Lefty Javier Lopez was then summoned to face Jason Giambi and got the slugger to pop up to end the game.
Like that, the Giants gained another game on the Los Angeles Dodgers, who lost 1-0 to Arizona. San Francisco now has a six-game cushion with 20 to play.
"A lot of baseball still," manager Bruce Bochy cautioned. "We've got to keep focused on what we're doing. We've got our hands full right now."
After a shaky outing from Chacin, Carlos Torres (4-2) took over in the fifth and promptly ran into trouble. Belt gave the Giants the lead for good when he doubled off the glove of Carlos Gonzalez in left. As the ball rolled into the corner, Marco Scutaro and Buster Posey came around to score.
"I thought he was going to come back with a fast ball and that's what he did," Belt explained. "He put it in a place I could handle, I put a good one on it and it fell in for me."
Down 4-0 in the fourth, the Giants rallied to tie it. The big blow was Bumgarner's three-run shot -- a no-doubter, too, as Gonzalez briefly turned to give chase before watching it leave the park.
Bumgarner's only other major league homer came three months ago against Houston.
"It kind of turned the tables a little bit," Rockies manager Jim Tracy said. "That's not the first time that I've sat there and seen him square up a mislocated fastball. We've seen that before."
While Bumgarner shined at the plate -- also lacing a single -- he never found a groove on the mound. That's unusual for Bumgarner in this park, where he had allowed just two earned runs in his last three starts at Coors Field.
Giants reliever George Kontos (2-1) picked up the win by bailing the Giants out of a tight spot in the fifth with two strikeouts.
The quirky Colorado weather befuddled the Giants in the third inning. With San Francisco about to bat, the wind and rain moved in, making the conditions almost look like swirling snow. Chacin yielded two singles, but wiggled out of the jam when Pablo Sandoval flew out.
Then, in the bottom half of the inning, the rain all but vanished.
And the Rockies took full advantage of the change in weather. Chacin ignited a three-run inning with a leadoff double. He later scored when Josh Rutledge hit into a double play. Bumgarner then gave up four straight hits, including run-scoring singles to Rosario and Pacheco.
Colorado scored a run in the second on Nelson's RBI single. Bumgarner escaped any further trouble by getting DJ LeMahieu to hit into an inning-ending double play.
NOTES: The Giants reinstated RHP Clay Hensley (groin) from the disabled list. ... RHP Tim Lincecum (8-14) will start Wednesday against LHP Jeff Francis (5-4). ... Dodgers OF Angel Pagan had his 12th triple of the season. It ties Steve Finley (2006) and Willie Mays (1960) for most in the San Francisco-era history for a single season. ... LHP Jorge De La Rosa (elbow) threw 3 2-3 innings and gave up one run Monday for Class-A Modesto. "He feels as normal as anyone would feel (the day after) they've started a game," Tracy said. "I heard nothing about his arm, his elbow. It's all very encouraging."