The Padres first baseman added a run-scoring single in the seventh to finish with three RBI, and Chris Denorfia knocked in a pair of runs for San Diego which grabbed a 2-1 lead in the four-game series.
Clayton Richard (7-10) yielded nine hits but didn't walk a batter over 8 1/3 innings, claiming the victory while breaking a personal two-start losing streak. The left-hander struck out two.
Huston Street came in to strike out Scott Moore for the game's final out -- and his 15th save -- after the Astros mounted a rally in the ninth.
Wandy Rodriguez (7-8) was tagged for five runs on four hits in a four inning effort for Houston.
Matt Downs went 3-for-4 with two homers and four RBI.