SAN DIEGO -- For one night, it was vintage Barry Zito.
Zito (6-13) won the matchup of former Cy Young Award winners and avoided setting a career high for losses in a season.
"The results felt good," Zito said. "It feels good to behave the way I want to behave out there."
Zito has struggled since signing a seven-year deal as a free agent in December 2006. But for Zito, who has a record of 17-26 with the Giants, it felt like old times.
"It was fun to pitch here because it was a reminder of good times," said Zito, who was raised in San Diego. "For me, it's about focusing on what I do, not the results. It was like pitching in Little League again when you didn't have to worry about contracts and things."
Zito got out of the few jams he faced, including the eighth when Giants manager Bruce Bochy paid him a visit after the Padres got runners at first and second with two outs. With lefty Adrian Gonzalez coming up, Bochy wanted to check with Zito.
"When he told me he felt fine, it was his ballgame at that point," Bochy said.
Zito got Gonzalez to ground out to second base on the first pitch.
"We have all the confidence in the world in Barry," said Bochy. "To go eight innings, that was very, very impressive. This guy can pitch."
There was little to choose from between Zito, who won the AL Cy Young in 2002 and leads the majors in losses, and Peavy (8-7), last year's NL award winner. Each pitcher allowed just two hits through the first six innings.
"When you go up against Peavy, especially in San Diego, you know it's going to be a battle," said Zito. "The key is to get that out of my head that I'm facing Peavy."
The Giants struck in the seventh after a one-out single by Fred Lewis, who then stole second base. Bengie Molina followed with a slow grounder to right field that scored Lewis with the game's first run.
"It's as frustrating as it gets," Peavy said. "We just have to play better. Everybody has to play better, myself included."
Zito struck out five and walked four, and Brian Wilson pitched a perfect ninth for his 30th save in 32 chances.
"He was solid out there tonight, very much in command," said Molina, who caught Zito. "He had everything working and was on."
Peavy gave up one run on five hits in seven innings. The right-hander struck out seven, walked one and hit one batter. Peavy lowered his ERA to 2.59 to overtake Arizona's Dan Haren (2.62) for the NL lead. Peavy also lowered his home ERA to 1.43, best in the majors.
Zito's longest previous outing this season was seven innings in a 5-2 win over the Los Angeles Dodgers on July 5.
"I've seen him do that throughout his career when he was with the A's and I was with the Angels," Padres manager Bud Black said. "He had three pitches working tonight. I thought the change was very, very good."
Emmanuel Burriss added an RBI single off Cla Meredith in the ninth for the Giants.
The low-scoring game was not a surprise considering that only Washington has scored fewer runs in the majors than both San Diego and San Francisco.
The Padres had first and second with two outs in the first after a walk to Gonzalez, but Zito got Kevin Kouzmanoff to ground into a force play.
Peavy got an assist from second baseman Tadahito Iguchi, who fielded Peavy's throw at first base on Zito's sacrifice bunt in the third. Iguchi then threw out Burriss, who was trying to advance from first base on the bunt.
Zito faced his most serious challenge in the sixth when the Padres loaded the bases.
Scott Hairston reached with one out when third baseman Jose Castillo booted a ground ball. Brian Giles blooped a double down the right-field line with two outs. After Zito fell behind in the count to Gonzalez, he issued an intentional walk, and Kouzmanoff flew out on the first pitch to end the inning.
Peavy was scheduled to pitch on Friday, but was given an extra day of rest after throwing 127 pitches in his last outing, a 3-1 win over Pittsburgh on July 27.
Zito also lost 13 games with Oakland in 2005 (14-13) and last season with the Giants (11-13). ... Peavy has allowed more than three earned runs only once in 10 starts since coming off the DL on June 12. ... Iguchi made his first start after missing 47 games with a separated shoulder that put him on the 15-DL on June 6. ... Giants have won seven of 10 against San Diego this season after losing 14 of 18 last year.