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. "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.
Up Next for White Sox: For the first time since May 19, 2012, at Wrigley Field, John Danks takes the mound against actual competition. He has gone through a successful rehab program following Aug. 6 arthroscopic surgery on his left shoulder, including throwing three live batting practice sessions and two bullpens, but now will take it up a notch at home against the defending World Series champions from San Francisco. Danks is scheduled to throw two innings. Also look for Jeff Keppinger back at third, as Robin Ventura said Keppinger would have Sunday off after playing Saturday and then be back in the field for two straight games.
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.