SAN DIEGO -- It was vintage Greg Maddux.
Pitching three days before his 41st birthday, Maddux (1-1) earned his 334th career victory by holding the Giants to six hits in six innings while striking out six and walking none.
"He showed tonight why he's a Hall of Fame pitcher," said Giants leadoff batter Dave Roberts, who spent the last two seasons with the Padres. "He gives you very little to work with and makes you earn everything. We had some chances against him but he just turns it up a notch."
The Padres bullpen extended its season-opening scoreless streak to 28 1/3 innings.
Maddux gave up two long fly balls to his last two batters, Bonds and Ray Durham, and wasn't disappointed that he was finished after throwing 75 pitches in six innings.
"Yeah, I was OK with it," said Maddux, who signed a $10 million contract in December. "Our bullpen's been doing great all year and, you know, I was done."
Maddux rebounded nicely from a loss to the Rockies in the home opener Friday night, when he was chased by Matt Holliday's two-run homer with one out in the fifth inning of a 4-3 loss.
Only three runners reached scoring position against Maddux. The Giants had runners on first and third with one out in the third before Maddux got Rich Aurilia to ground into a double play.
Manager Bud Black said Maddux threw his fastball more than he did in the home opener.
"He had them off-balance and he was ahead in the count pretty much all night," Black said.
"I located it better," said Maddux, known for his control throughout his brilliant career. "It's a little bit easier to be more aggressive when you're ahead in the count. When you're behind you have to be a little bit defensive."
Maddux retired Bonds three times on a total of four pitches. Bonds flied out to left field twice, then lifted a fly ball to right that Brian Giles caught against the wall. Bonds finished 0-for-4.
Maddux has allowed eight homers to Bonds, making him one of five pitchers victimized the most by the slugger.
Bonds remains at 735 homers, 21 shy of breaking Hank Aaron's record. His only homer this year came at San Francisco on April 4 against San Diego's Chris Young.
The two-time defending NL West champion Padres shut out the Giants for the third time in six games this season. They won 7-0 on opening day at San Francisco on April 3, then beat the Giants 1-0 on Monday night in the series opener despite being held to two hits.
The Giants' 20 runs in nine games are the second-fewest in the majors.
Noah Lowry (0-2) allowed four runs, three earned, and five hits in six innings. He walked four and struck out one.
Brothers Marcus and Brian Giles each had an RBI single, as did Josh Bard. Marcus Giles scored on third baseman Aurilia's throwing error on Mike Cameron's infield single in the third.
"I was struggling with my fastball all night," Lowry said. "It was a battle. I wish I would have done more on my part."
- The Giants optioned INF Kevin Frandsen to Triple-A Fresno and will announce a corresponding move on Friday before opening a series at Pittsburgh.
- Padres C Josh Bard strained his groin sliding into second in the sixth.
- Roberts made a nice catch against the fence of Jose Cruz Jr.'s bases-loaded fly ball to end the sixth.
- San Francisco's Todd Linden started in RF and is scheduled to start Friday night at Pittsburgh. Manager Bruce Bochy said that will give Randy Winn a few days "to freshen up" after starting the first eight games.
- Padres RHP Clay Hensley should be OK for his next scheduled start. He's had a blister on his right middle finger since his season debut at San Francisco on April 5.
- Chargers QB Philip Rivers threw out the ceremonial first pitch. He also threw a pass to Padres CF Mike Cameron in the clubhouse before the game. Rivers brought along offensive linemen Nick Hardwick, Kris Dielman and Scott Mruczkowski.