SAN DIEGO -- For one night, it was vintage Barry Zito.
He allowed three hits in a season-high eight innings and outpitched Jake Peavy to lift the San Francisco Giants to a 2-0 win over the San Diego Padres on Saturday night.
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 escaped 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 out. 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 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 not much offense with 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, both on their game. 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," Zito said. "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 (Zito) 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.
Zito's longest previous outing this season was seven innings in a 5-2 win over the Los Angeles Dodgers on July 5.