SAN DIEGO -- Brett Tomko got a big win for San Diego in his first start for the Padres.
Tomko scattered four singles in six innings, Mike Cameron hit a two-run homer and the Padres beat the San Francisco Giants 6-0 Saturday night to pull within two games of NL West-leading Arizona.
"It's nice from where I was 3½ weeks ago and how I felt I was throwing the ball. It's a complete turnaround," said Tomko, whose offseason home is Poway, a San Diego suburb. "To help the team in the heat of a pennant race, it was a big game for us."
San Diego, which leads the major leagues with 19 shutouts, maintained a 1½-game lead in the wild-card race over Philadelphia and the Los Angeles Dodgers.
San Francisco's Barry Bonds left the game in the second inning with a strained right big toe. Manager Bruce Bochy said X-rays were negative and that Bonds would likely be out two to three days.
Tomko (3-11) was signed by the Padres on Sept. 4 after going 2-11 with a 5.80 ERA in 15 starts and 18 relief appearances for the Dodgers, who cut him Aug. 24 to make room in their rotation for David Wells.
"The Dodgers changed a lot of my mechanics and I got in some bad habits," Tomko said. "I feel like I'm back on track and it's nice to go back out there again."
Tomko struck out five and walked none in his first start since Aug. 21. He had made three relief appearances with the Padres.
Padres manager Bud Black considered letting Tomko go out for the seventh.
"He was the second hitter in the bottom of the sixth and he was at the bat rack putting his gloves on," Black said. "I had to pull him back. We felt there are some important games left, and there was no reason to push him."
Four relievers completed the six-hitter, which tied the Padres' shutout record, set in 1985. San Diego won its second straight game after losing six of nine.
Bonds, baseball's career home run leader with 762, was hurt when attempting to make a play on a fly ball from Adrian Gonzalez at the left-field wall leading off in the second inning. Bonds jumped as he attempted to make the catch. The ball appeared to hit off the glove of a fan who reached over the wall. Bonds landed awkwardly on his right leg.
Bonds fell and rolled over as the ball bounded toward the left-field line. By the time Bonds threw the ball back into the infield, Gonzalez had a triple. Bonds was replaced by Nate Schierholtz in the bottom of the third.
"I talked to Barry, and he said he thought it was in his glove and somebody knocked it out," Giants starter Matt Cain said. "I'll take his word for it. They (the umpires) didn't see it."
Gonzalez scored when the next batter, Khalil Greene, hit a sacrifice fly.
Cameron hit his 21st home run off Randy Messenger in the seventh inning following Geoff Blum's leadoff double to put San Diego ahead 3-0. The Padres added another run in the inning on Scott Hairston's sacrifice fly off Scott Munter.
Cain (7-15) allowed one run and one hit in six innings, struck out six and walked none. He is 0-3 with a 2.38 ERA in five starts against the Padres this season.
"It's a shame we couldn't get a run for him," Bochy said. "You look at the games the kid has thrown, and you can't help but feel for the kid."
San Francisco loaded the bases with one out off Doug Brocail, but Joe Thatcher got pinch-hitter Guillermo Rodriguez to hit into an inning-ending double play.