The San Diego Padres got a good glimpse of what Zito had -- and what he didn't.
"That set the tone for the rest of the night," said No. 2 hitter David Eckstein, who later congratulated Hairston on his effort.
Zito's career-best start for San Francisco ended Tuesday night when he allowed Eckstein's two-run single and walked a season-high seven batters in the Giants' 3-2 loss to the first-place Padres.
Ryan Webb (1-1) went 1 1/3 innings to earn the win for the Padres, who extended their lead over the Giants in the NL West to 1 1/2 games.
Yorvit Torrealba also drove in a run for San Diego, which is without two key pitchers for unforeseen circumstances: starter Kevin Correia following the death of his younger brother in a hiking accident Saturday, and Tim Stauffer after he underwent an emergency appendectomy Tuesday morning.
Zito (5-1) couldn't locate his fastball and his pitch count increased in a hurry.
"I didn't have any command today," he said. "Sometimes it just happens no matter what you feel like."
After getting hits in his first two at-bats, including his two-run single in the second, Eckstein drew three straight walks.
This game was far from pretty: It featured a combined 26 runners left on base and 17 total walks.
"It's amazing we stayed in that game," Giants manager Bruce Bochy said. "Every time you looked up they had runners on base. They left a small battalion out there. We had our backs to the wall every inning."
San Francisco finished with 12 walks, its most since issuing 13 free passes May 18, 2007, at Oakland. But the Padres also stranded 15 baserunners.
"We want to get them in. We didn't," San Diego manager Bud Black said.
Zito was done after 108 pitches over five innings, his shortest outing of the year. He allowed three runs and six hits. The left-hander hadn't walked more than three in any of his previous outings this year.
The Padres were patient, something they talked about in their pregame preparation for Zito.
"He does a good job making you chase out of the zone," Eckstein said. "You have to lay off his hard cutters."
Zito is back in the good graces of the home crowd now that he's been winning regularly. The 2002 AL Cy Young Award winner with the A's, Zito was often booed during his struggles after signing a $126 million, seven-year contract before the 2007 season.
Heath Bell, the fourth Padres reliever, pitched the ninth for his ninth save in 11 chances, and San Diego won for the eighth time in the last 11 meetings in the rivalry, including a three-game sweep last month at home.
While this marked LeBlanc's second straight no-decision, the Padres are 5-0 in his starts and 10-2 over his last 12 dating to Aug. 29.
In a rehab outing for Class-A San Jose, Giants 2B Freddy Sanchez went 2 for 4 with two doubles and three RBIs. ... A moment of silence was held before the game in remembrance of late Tigers broadcaster Ernie Harwell and 22-year-old Trevor Brent Correia, who died Saturday. The pitcher was placed on the bereavement list Tuesday, though Black believes Correia will take his turn in the rotation Saturday at home vs. the Dodgers. ... Giants LF Mark DeRosa underwent an MRI exam and nerve tests on his troublesome left wrist, and he missed his second straight start. ... Giants cleanup hitter Bengie Molina has hit safely in every home game he's played. ... LeBlanc missed getting a hit for just the second time this year. ... Giants INF Emmanuel Burriss, recovering from a broken left foot, is in San Francisco this week to be around the team after rehabilitating in Arizona at extended spring training. He is taking groundballs and batting practice and hopes to start a rehab assignment in about four weeks. ... San Francisco's Eli Whiteside had his first career stolen base in the seventh.