Williams did it all for the Padres on Sunday night in one of many important games they will play this month. He doubled on the way to his third career three-hit game, drove in a run and scored twice -- not to mention his strong performance on the mound in a 10-2 victory over the San Francisco Giants.
"It is a fun night," Williams said. "This was a huge game for us. There was no panic in the clubhouse, but we knew we had to win."
Brian Giles drove in four runs for San Diego, which avoided a three-game sweep and improved to 2-11 in the last 13 meetings between the clubs.
The Padres increased their lead in the NL wild-card race to 2½ games by ending a six-game losing streak to their division rival. San Diego also remained 1½ games behind first-place Los Angeles in the NL West.
The Padres batted around in a four-run third against Matt Morris (10-13), who lost his second consecutive start. San Diego got four straight hits against the right-hander before making an out. Aside from Todd Walker's RBI double, Giles and Russell Branyan had run-scoring singles in the inning.
"Being up in the wild card and the division is in reach, we control our own destiny," Giles said. "That's what makes the next three weeks so fun to come to the ballpark."
Williams (8-5) won for the fourth time in five decisions and had three hits for the first time since doing it twice in 2000. He was done after Durham's seventh-inning double that scored Barry Bonds, who reached on a leadoff single.
Williams allowed six hits and one run in six-plus innings. He struck out three and didn't walk a batter for the third time in six starts.
"It was all Woody," Bochy said. "We saw the Woody Williams show tonight. I don't know what he didn't do."
Bonds went 1-for-3 a day after hitting his 731st career home run and 23rd of the year, his sixth in nine games.
Before the game, Giants owner Peter Magowan vowed to hold off on a decision about bringing back the 42-year-old slugger until after the season, acknowledging it could be a long process before the sides decide whether to stay together or part ways.
The Padres padded their lead with four runs in the ninth. Giles hit an RBI double, Adrian Gonzalez had a run-scoring single and Manny Alexander added a two-run double to make it 10-2.
The Padres had lost 11 of 12 to the Giants after winning five of the first six meetings. San Francisco won the season series for the first time since 2003, 12-7.
"Two out of three is good," Giants manager Felipe Alou said. "We beat up on that team all year practically."
Morris was tagged for six runs and a season-high 11 hits in five-plus innings.
"Maybe the shadows got me the first two innings," he said. "It was a big game and I didn't make the pitches I needed to make. It was not my day and I'll take the blame."
- Williams' double was his first extra-base hit since a double Aug. 7, 2004, against the Mets.
- Steve Finley tripled in the eighth for San Francisco, giving him 10 on the year. He is the majors' active leader in career triples with 122. Vizquel also has 10 triples this season, marking the first time two Giants players have had 10 since Gary Matthews and Garry Maddox in 1973.
- San Diego continues its 10-game road trip Tuesday at Cincinnati.
- The Padres had 17 hits.