At San Diego, Trevor Hoffman earned his 477th career save to pull within one of tying Lee Smith's all-time record and Mike Cameron hit a two-run triple for the Padres, who beat Arizona to keep their slim lead atop the NL West.
The Padres remained one-half game in front of the Los Angeles Dodgers, who beat the Pittsburgh Pirates 5-2 on Thursday night.
Hoffman pitched the ninth for his NL-best 41st save in 46 chances. With his next save he will tie Smith, who had 478 with eight teams in a career lasting from 1980 to 1997.
Woody Williams (10-5) won his third straight start. He allowed five hits and an unearned run in 5 2-3 innings, with three strikeouts and one walk.
Brandon Webb (16-7) lost for the first time in four starts against the Padres this year. Coming off consecutive complete-game wins, he allowed three runs and five hits in seven innings, struck out four and walked one.