SAN FRANCISCO -- Pedro Feliz provided the power. Barry Bonds barely got a chance.
The production of Feliz and Ray Durham behind Bonds will be key as the slugger begins to draw more walks during his pursuit of the home run record.
"Every time I got in there, I hope to find people on base," Feliz said. "That's good when they walk him, so everybody else can do it."
Rich Aurilia hit two doubles, drove in a run and scored twice as San Francisco opened a season-long 10-game homestand by ending a three-game skid. The Giants were swept in a three-game weekend series at Arizona after completing a rare three-game sweep of archrival Los Angeles at Dodger Stadium.
The 42-year-old Bonds walked three times, twice intentionally. Randy Winn tripled and scored in the leadoff spot for the Giants, and Omar Vizquel had two hits, an RBI and scored in San Francisco's seventh consecutive home victory -- the club's longest unbeaten run in its waterfront ballpark since also winning seven in a row from June 19-July 2, 2004.
Bonds had homered seven times in his previous 13 games -- giving him 742 for his career to pull within 13 of Hank Aaron's record of 755 -- and opposing managers are starting to say enough's enough.
The slugger walked on five pitches in the first with the fans booing the moment he drew ball four, then received his eighth intentional free pass in the second with runners on second and third and two outs. He grounded out in the fifth and was intentionally walked again in the seventh with runners on second and third and no outs. Fans began waving rubber chickens in protest.
Durham followed him in the seventh with a sacrifice fly. Center fielder Willy Taveras overthrew the cutoff man and the ball bounced and skipped off third baseman Garrett Atkins for an error, allowing Aurilia to score and Bonds to take third. He scored moments later on a wild pitch.
Rockies manager Clint Hurdle said beforehand he had no plans to let No. 25 be the difference maker.
"He's locked in," Hurdle said. "He could hit the ball out of the Grand Canyon."
Durham, the Giants' No. 5 hitter following Bonds, has become used to watching Bonds get pitched around.
"I'm going to get 'em," said Durham, who's batting .279 with two homers and 14 RBI. "It's just a matter of time. They'll have to start pitching to Barry. I saw it all last year, it's nothing new. I've just got to start doing my job."
Lowry (3-2) won his third in a row despite not having good command of his pitches, ending a six-start winless stretch and four-game losing streak to the Rockies dating to a victory over Colorado on April 15, 2005. He lasted only five innings, marking just the fifth time this year that a Giants starter failed to go six.
"I don't know if I ever settled in," he said. "I was able to keep the team in the game."
Troy Tulowitzki matched his career high with four hits for the Rockies, breaking two bats before his seventh-inning single. Atkins followed Tulowitzki with an RBI single, then Steve Kline entered and induced Todd Helton to ground into a double play.
"That's huge," Giants manager Bruce Bochy said. "They created some jams there that we had to get out of. It's good to get a win after three tough losses and bounce back."
After Helton's RBI groundout in the first, Lowry retired the next six batters before Tulowitzki's second single of the game in the third. Tulowitzki, a rookie shortstop, returned to his native Bay Area one day after turning the 13th unassisted triple play in big league history.
"We've done some things but we're not consistently throwing out a big game," Hurdle said. "We need to get it going. We need to pick our focus up and put out a good product."
Colorado starter Josh Fogg (1-2) pitched well after the first two innings, but the damage was done on Feliz's second homer in three days and fifth of the year. After the intentional walk to Bonds, Fogg retired the final 10 hitters he faced before giving way to Zach McClellan to start the sixth.
"Barry's the guy you don't let beat you," Fogg said. "But there are no easy outs at this level. Pedro's no slouch. He made a better adjustment than I did."
Fogg allowed five hits and five runs, struck out five and walked two in five innings. He threw 111 pitches and lasted five or fewer innings for the third time in five 2007 starts.
A moment of silence was held for former St. Louis Cardinals reliever Josh Hancock, who died early Sunday in an auto accident. ... The first inning lasted 30 minutes. ... Giants CF and leadoff man Dave Roberts was held out of the lineup with an inflamed left elbow. ... San Francisco reliever Kevin Correia had a hit in his first at-bat of the season, his sixth career hit.