"Whoever else is on the staff or not, Danny's been unbelievable," Oakland assistant general manager David Forst said. "No doubt he's the ace of our staff right now. He certainly deserves to be in conversations with the best pitchers in the game."
Mark Kotsay and Travis Buck each singled in runs and Jason Kendall added a sacrifice fly as the A's earned their seventh victory in eight games to capture their fourth straight series. Crosby also singled twice after hitting his sixth homer of the year with two outs in the third.
Zito (6-6) certainly wanted nothing more than to bounce back from a horrible start against the A's on May 18, when he was tagged for seven runs in four innings of a 15-3 loss to his former club. But he lasted only four innings, matching his shortest outing of the year.
He played his first seven major league seasons across San Francisco Bay with the A's before signing a $126 million, seven-year contract with the Giants -- the richest deal for a pitcher. Zito looks little like the pitcher who won 23 games and the AL Cy Young award in 2002.
"It was kind of strange," Zito said. "There were a lot of foul balls. I ran the pitch count up. Hits would find holes. Guys got on base, weird things happened. Too many pitches. I pitched myself out of the game. ... I'm certainly not satisfied."
Barry Bonds, in the lineup for the afternoon game following a night game, went 2-for-4 with two singles and two strikeouts. He was the only Giant to get to second base against Haren.
The slugger singled in the second and fourth, then struck out looking to end the sixth and swinging to end the eighth as the Giants missed scoring chances yet again and lost their sixth in eight games.
"He tried to get us going -- a couple hits," Giants manager Bruce Bochy said. "He stole a base. We just couldn't figure Haren out."
The 42-year-old Bonds has just one homer in 73 at-bats since connecting May 8 off the Mets' Tom Glavine, and hasn't hit one out since May 27 against Colorado's Taylor Buchholz. That didn't keep the kayaks from packing McCovey Cove on a pretty Bay Area day, hoping for a souvenir ball from the seven-time NL MVP.
Bonds stole his second base in as many days, fourth of the year and 513th of his career, moving him within one of matching his late father, Bobby, for most in San Francisco history (263). Bonds last stole two bags in consecutive games July 14-15 last year.
Haren (7-2) -- who had 1-2-3 innings in the first, third and fifth -- lowered his majors-best ERA from 1.70 to 1.58.
"He's just been so consistent," A's manager Bob Geren said. "It's fun to watch. We feel real good every time he goes out there. He has all the pitches, the stamina to go deep in games and the intelligence to work the hitters. He's definitely a No. 1."
Haren struck out six in seven innings and didn't walk a batter for the fourth time this year. He hasn't lost in 12 starts since April 7 at Los Angeles. Ron Flores and Colby Lewis pitched an inning each to finish the six-hitter, Oakland's AL-leading sixth shutout.
Haren is expected to be an All-Star for the first time next month, and right on the mound where he stood Saturday -- the game is in San Francisco's eight-year-old waterfront ballpark.
He won't think about all the fanfare about his year just yet.
"I don't want to lose my edge," Haren said. "I have a good thing going right now. I go after hitters. I throw a lot of strikes. The key with me is if we get a lead early or that one run early, it really enables me to go out and be really aggressive."
Zito had won three straight starts since losing to the A's. He finished with 106 pitches in four innings, allowed nine hits and four runs, three earned, struck out two and walked one.
He got Mark Ellis looking on a nasty curveball in the first, but things were far from easy after that. The lefty allowed back-to-back singles to Kotsay and Kendall to start the second, then a controversial infield RBI single to Buck two batters later. First baseman Ryan Klesko fielded the chopper and lunged toward Buck and argued that he tagged the leadoff hitter, but it was ruled Klesko didn't touch him. It was difficult to tell on several replay angles, though Buck's uniform appeared to move slightly.
Klesko opted against throwing home on the play.
The Giants were happy to welcome back center fielder and leadoff hitter Dave Roberts, who had a 10-pitch at-bat in the first but grounded out to second. He went 0-for-4.
Roberts was activated from the DL two days earlier than scheduled from his rehab assignment with Triple-A Fresno at Las Vegas to replace injured outfielder Fred Lewis (strained right side muscle), three days shy of a month after surgery on his left elbow to remove bone chips and spurs. The club also brought up Guillermo Rodriguez to be catcher Bengie Molina's backup after catcher Eliezer Alfonzo sprained his left knee also in Friday's wild 5-3, 10-inning loss.
- Haren had to throw at least eight pitches to a batter in each of the first three innings. He has a day ERA of 0.76 in five starts.
- Crosby hit his third career homer against the Giants and sixth in interleague play.
- The Giants sold out for the ninth time this year (42,526).