Peavy, facing the team he played with for eight seasons from 2002-09, allowed three runs on five hits and had one walk and two strikeouts. Both strikeouts were on off-speed pitches.
"It was a very aggressive team," Peavy said of the Padres. "I used my fastball and got better as I went. I feel great."
Richard, who was traded from the White Sox on July 31, 2009 with three players for Peavy, walked two in the first inning but stranded both runners. He didn't allow a hit in his two innings of work.
"It was pretty good for the first outing," Richard said. "I came in pretty erratic, but in the second inning was able to throw more strikes."
Anthony Bass followed Richard with two scoreless innings of his own, allowing one hit to go with three strikeouts. Bass is in the running for a job in the starting rotation.
Outfielder Jaff Decker homered in the eighth inning to extend the Padres' lead to 4-0.
With the victory, the Padres improved to 6-5. The White Sox fell to 4-3-2.
Nestor Molina tossed two scoreless innings for the White Sox.
Padres up next: The Padres head to Surprise at 12:05 p.m. PT on Monday to face the Rangers. Rotation hopeful Eric Stults makes his second start of the spring and is scheduled to go three innings. Stults, a left-hander, allowed four runs on four hits in one inning the last time out. Righty Sean O'Sullivan, in camp on a Minor League deal, will follow Stults and will go two innings. He's allowed one run in five innings thus far.
Corey Brock is a reporter for MLB.com. Keep track of @FollowThePadres on Twitter. This story was not subject to the approval of Major League Baseball or its clubs.