SAN DIEGO (AP) - Doug Davis pitched three-hit ball over six innings to win for the first time in more than five weeks, and the Arizona Diamondbacks beat the San Diego Padres 8-0 on Friday night.

Davis (3-6) struck out five and walked four in his first win since April 29. Daniel Schlereth, Esmerling Vasquez and Chad Qualls finished the four-hitter for Arizona's fifth shutout.

Chris Snyder drove in three runs, including two during the Diamondbacks' four-run fifth inning that gave Davis a 5-0 lead.

Chris Young added a solo home run and scored twice for Arizona, which won for just the second time in five games.

Diamondbacks right fielder Justin Upton threw out a runner at home in the sixth inning during the Padres' only serious scoring threat.

Davis, who was 0-3 in six starts during his winless streak, raised his career mark to 8-3 against San Diego, including a 6-1 record with 2.14 ERA in his last seven starts.

San Diego, which is near the bottom in the majors in runs scored, was shut out for the fifth time this season. The Padres lost their fourth straight and for the sixth time in seven games.

After Young hit his fourth homer to give Arizona a 1-0 lead in the second, the Diamondbacks scored four times in the fifth off Chad Gaudin (2-4).

Felipe Lopez singled with one out and scored on Gerardo Parra's double. Stephen Drew walked with two outs and Mark Reynolds followed with an RBI single. Snyder then lined a ball into the right center-field gap for a two-run single.

Reynolds finished with three hits and scored twice.

The Diamondbacks added a run in the eighth on pinch-hitter Josh Whitesell's run-scoring single, and two in the ninth, including Snyder's RBI single.

Gaudin allowed five runs on six hits in five innings. He struck out six and walked four.

The Padres' best chance to score was thwarted when Upton threw out David Eckstein at home plate in the sixth inning. Eckstein was attempting to score from second base on a line-drive single to right field by Chase Headley.

Eckstein and Headley each finished with two singles.

Notes:@ Drew extended his hitting streak to nine games with a ninth-inning double. ... Gaudin had no better success against the Diamondbacks than in his last start against them on May 25 at Arizona when he gave up seven runs on five hits, five walks in 5 1-3 innings. ... When Upton threw out Eckstein in the sixth, it was only the third outfield assist this season for Arizona. ... Padres RHP Jake Peavy had his scheduled start on Sunday moved back to Monday to allow him extra time to recover from an upper respiratory infection. Peavy, who will face the Diamondbacks in the finale of San Diego's 10-game homestand, will be replaced on Sunday by rookie Josh Geer.

Copyright 2009 The Associated Press.