DENVER - Brandon Belt brought the fireworks early to keep the San Francisco Giants rolling.

Belt homered into the third deck, Ryan Vogelsong threw six scoreless innings and also doubled and the Giants held on to beat the Colorado Rockies 11-8 on Friday night.

Buster Posey singled and doubled to extend his hitting streak to 14 games as surging San Francisco won its seventh straight.

Belt's mammoth shot got a jump on the fireworks show that was planned for after the game but started during a ninth inning rain delay.

It is the sixth time in 21 home dates this season rain has delayed or postponed a game at Coors Field.

After a one-out single in the sixth by Posey, Belt sent Kyle Kendrick's 83-mph changeup an estimated 475 feet into deep right field to make it 3-0. It is the 34th home run to land in the third deck at Coors Field.

Belt is the 20th player to accomplish the feat.

"I had a pretty good idea I was going to get something offspeed," Belt said. "You kind of hope for that hanging change and that's what happened. He hung it a little bit. It's probably off the wall in San Fran."

He was denied another RBI when his line-drive single hit second base umpire Paul Nauert in the Giants' four-run seventh inning. Nauert exited and the game was played with three umpires for the rest of the game.

Matt Duffy's two-run homer in the ninth capped another four-run inning and seemingly put the game away, but Colorado mounted a rally as the rain became heavier.

Three straight singles to start the inning scored a run before the game went into a 1 hour, 44-minute delay. Two more hits after play resumed made it 11-7 with no outs. Santiago Casilla came on and got the first two outs before Ben Paulsen's double cut the deficit to 11-8. He struck out Nick Hundley to end the game for his 11th save.

"They fought back, they got in it and we had to use our guys," Giants manager Bruce Bochy said. "It's one of those long nights you're glad to get away with a win. Casilla really came through for us."

Kendrick (1-6) laboured through 6 1-3 innings and remained winless since the season opener at Milwaukee on April 6. He struck out four and walked three, one of them on a 12-pitch at-bat against Belt in the second inning.

"I thought KK did a good job," manager Walt Weiss said. "It was a quality start, but the game got away in middle innings but guys fought back late. His pitch count got elevated early, but it looked he settled in and gave us some length."

Vogelsong (3-2) struck out five and didn't allow a hit until Wilin Rosario's two-out single in the fourth. The Rockies didn't get a runner past second base against Vogelsong.

Vogelsong hurt his calf when he covered first base on Troy Tulowitzki's double-play ball that ended the sixth inning.

"We ran into each other and he got me on the calf," Vogelsong said. "A charley horse, but I'm fine. A little sore but nothing big."

STREAK BUSTER

DJ LeMahieu's three-run homer with one out in the seventh to break a 34-inning scoreless streak by San Francisco pitchers. The Giants staff had not allowed a run since the eighth inning at Cincinnati on Sunday.

Vogelsong said he didn't worry about the streak.

"It never really crossed my mind," he said. "I was trying to stay with what's been working for me the last three starts."

TRAINING ROOM

Giants: Bochy said RHP Matt Cain threw a good bullpen session Friday. "He mixed in all of his pitches today," Bochy said. "A good session for him. We'll see how he comes out of it." Cain, who has been on the disabled list all season with a strained right flexor tendon, could throw to hitters in a few days.

Rockies: RHP Brooks Brown (right shoulder inflammation) could be activated Saturday when he is eligible to come off the 15-day DL. "He threw the ball very well (Thursday) night," Weiss said. "As long as he shows up without any issues it's possible he can be activated."

UP NEXT

Giants: RHP Chris Heston (3-3, 3.72) opens Saturday's split doubleheader. RHP Yusmeiro Petit (1-0, 3.27) is the tentative pitcher for the second game.

Rockies: RHP Jordan Lyles (2-4, 4.53) will start the first game on Saturday and RHP David Hale will be called up to start the second game in his season debut.