Richard (9-11), coming off one of his better starts of the season, held the Cubs to five singles and pitched out of trouble three times to hand Chicago its eighth straight loss.
Richard struck out five, walked one and hit a batter as the Cubs had a runner reach third base three times.
Chicago scored four runs -- all in Tuesday night's 7-4 loss -- and had 15 hits in the three-game series.
Richard has three career complete games and two shutouts.
Jeff Samardzija (7-10) allowed one run and four hits in seven innings. He struck out five and walked two.
In his last start, Richard gave up one run and scattered eight hits over seven innings in Friday's 3-1 win over the New York Mets.
San Diego scored the game's first run when Chase Headley led off the second with a double and scored one out later on Venable's double.
Chicago's Starlin Castro singled in the sixth to snap an 0-for-19 drought. Castro's single sent Alfonso Soriano to third after he was hit by a pitch with two outs and stole second. But Wellington Castillo grounded out to end the inning.
Samardzija struck out swinging to end the seventh inning and snapped his bat in two over his right leg.