SAN FRANCISCO -- There were a lot of zeros in Sunday's game, mostly under the Diamondbacks' run column, but the biggest zero of all for starting pitcher Tim Lincecum was the one next to the number of walks issued.

"I've been struggling a lot lately, and it's good to see a nice zero up there," Lincecum said.

The Giants took batting practice against Arizona's pitching staff Sunday and clinched the series with a 13-0 win over the Diamondbacks and a pitching performance of sheer excellence from Lincecum. The funny thing is Lincecum wasn't even supposed to start Sunday. He was almost scrapped after four bad outings, but he demonstrated a return in his command in his last start against the Padres. In case there were any lingering doubts, he gave a second demonstration Sunday.

"I didn't throw as many curveballs as I would like to, but I had my changeup going and I was throwing strikes with my fastball," Lincecum said.

Was he ever. Lincecum was most pleased with that big doughnut under walks, but next to that was the even more impressive number of 12 strikeouts. Lincecum struck out nine of the first 14 batters he faced and shut out the Diamondbacks for seven innings, for his third shutout performance of the season. He struck out at least two batters every inning until the fifth and the 12 strikeouts he came away with were a Giants season high as well as a personal career high.

First baseman Ryan Klesko had a front-row view for Lincecum's strikeout barrage.

"He was spotting his fastball and his breaking ball, too. When he's got both those working, he's going to get some tough outs," Klesko said.

With Lincecum's full arsenal in effect, there wasn't much the Diamondbacks could do other than barely manage three hits.

Klesko turned out to be a big difference-maker, too. Like Lincecum, he almost didn't make the Sunday lineup after he strained his abdomen Saturday, but not only was he able to play, he was one triple away from hitting for the cycle and provided four RBIs.

Klesko gave the Giants their first lead in the fourth inning with a towering home run into the right-field arcade seats, on the heels of a splash-hit homer he launched Friday. He was also part of a six-run fifth inning that Barry Bonds busted open.

It was a big afternoon for Bonds, and not just because he made the All-Star lineup as a starter. Bonds lined career hit 2,900, a double down the right-field line that knocked in two runs and gave him sole possession over Willie Mays of the San Francisco doubles record, with 377.

Bengie Molina followed up in the same inning with a three-run homer that he blasted into the left-field bleachers, cementing the Giants' win.

Amid all the happiness and home runs, there was one disappointed player. After the game, outfielder Nate Schierholtz was optioned back to Fresno to make room for Rich Aurilia, who's expected to rejoin the team Tuesday.