Richard (9-11) yielded a pair of walks and struck out five, pinpointing 71 of his 110 pitches for strikes. The right-hander recorded his second career shutout and first since 2010.
Will Venable's RBI double gave the Padres a 1-0 lead in the second inning and Yonder Alonso added an insurance run with a run-scoring single in the eighth.
The win gave San Diego a 5-1 homestead and its first home sweep of the season.
Cubs starter Jeff Samardzija (7-10) was the loser despite giving up just one run on four hits and two walks through seven frames. He struck out six.
Kate Middleton recycles dress at movie premiere
Beyonce flaunts bikini body, Blue Ivy in vacation pics