Peavy (5-3) did not walk a batter, struck out four, threw 52 of his 72 pitches for strikes and was a winner after a stay on the 15-day disabled list with a right arm injury.
San Diego scored five times in the bottom of the first inning, with the big hit being Brian Giles' three-run homer.
Adrian Gonzalez hit a solo homer in the first and had two RBI.
Luke Carlin also drove in two runs.
James Loney had two of the five hits for the Dodgers, who have dropped three of four.
The losing pitcher was starter Hiroki Kuroda (3-6).
Teacher apologizes for showing sexual image of herself in class
Susan Sarandon 'very excited' about daughter's pregnancy