PHOENIX -- Hunter Pence raced to first base to reach on a fielder's choice, then took off for second. Once there, he raced toward third, stealing another base and inducing a throwing error that allowed him to score San Francisco's first run.
Full Throttle's daring baserunning was just what the Giants needed to break out of their offensive funk.
Pence kick started San Francisco's offense with his aggressiveness, hitting a homer and scoring three runs to help the Giants pound the Arizona Diamondbacks 10-5 Saturday night.
"He's trying to live up to that name Full Throttle," Giants manager Bruce Bochy said. "He's a guy that the team feeds off his energy. He knows we've been struggling offensively and he's not afraid to push the envelope a little bit. It ended up being big."
Madison Bumgarner (5-4) gave the Giants a quality start, pitching five effective innings to end a four-game losing streak.
His teammates gave him some rare run support, too, roughing up Trevor Cahill (3-7) while scoring two more runs than in the previous six games combined.
Buster Posey hit a two-run homer in San Francisco's six-run fourth inning and added a run-scoring single in the sixth.
Pence was the catalyst, scoring the opening run with his dash around the bases, another after hitting his 200th career double in the fourth and adding a leadoff homer in the seventh to give the Giants extra cushion after the Diamondbacks tried to rally.
"He has a knack for doing that," Bumgarner said. "He gets everyone excited and makes it fun to play."
He made it rough on the Diamondbacks, who had been on a roll.
Paul Goldschmidt matched Luis Gonzalez's 2002 team record with an RBI in his eighth straight game on a groundout in Arizona's four-run sixth inning, but the Diamondbacks weren't able to climb out of the big early hole of Cahill's shortest outing of the season.
"He really struggled throwing the ball in the corner today and they were swinging the bats good," Diamondbacks manager Kirk Gibson said. "You have to give them a little bit of credit. They just beat on us."
Bumgarner pitched well in two previous starts against Arizona this season, allowing a run in 14 1/3 innings. He didn't a get a win in either, though, after the Giants scored only one total run for him.
The lack of run support has been a common theme for the lefty this season. San Francisco averages 3.0 runs per game when he starts, sixth-lowest in the NL, and backed him up with two runs his past three starts combined.
It may not have mattered anyway. Bumgarner allowed nine earned runs in 12 2/3 innings the past two starts.
The Giants gave him plenty of help this time, matching the previous three games in the second inning thanks to Pence and Andres Torres.
Pence manufactured one run, reaching on a fielder's choice, stealing second and third, then scoring on catcher Miguel Montero's throwing error into left field. Torres made it 2-0 with a crafty slide around Montero on a close play at the plate after Crawford's double.
The Giants poured it on in the fourth inning with six more runs, an outburst punctuated by Posey's nearly-touch-the-ceiling two-run homer that made it 8-0 and chased Cahill.
Cahill allowed eight runs on nine hits in 3 2/3 innings after giving up five runs in five innings his last start.
"It kind of happened quick," Cahill said. "I left a lot of balls up and when I got ahead and tried to put them away, I get it belt high and down the middle."
Bumgarner allowed three runs on three hits. He also walked and scored in the sixth inning.
"Bum was good," Bochy said. "I don't know if running the bases there (fatigued him), but he just started missing spots. But he did a great job and we had some good at-bats."
Giants 3B Pablo Sandoval left in the fourth inning after aggravating a left foot strain. ... Diamondbacks fifth-round draft pick Jamie Westbrook, who played at Basha High School in nearby Chandler, took batting practice with the team before the game. ... Phoenix Coyotes captain Shane Doan was at Chase Field to work as a pregame analyst for FoxSports Arizona. ... Arizona LHP Tyler Skaggs, who will pitch Sunday's series finale, will try to bounce back after allowing five runs in 5 2/3 innings against St. Louis his last outing. ... Giants RHP Chad Gaudin will start Sunday against Arizona after allowing two runs on four hits in six innings against St. Louis last Sunday, his first start of the season.