Chris Denorfia homered and the San Diego Padres beat the Houston Astros 3-1 on Friday night, just their 10th win in 31 home games.

It was a matchup of the two worst teams in the NL. The Astros had their season-long four-game winning streak snapped.

Dustin Moseley (2-6) earned his first win at Petco Park by holding Houston to one run and six hits in seven innings, with five strikeouts and one walk. Heath Bell pitched the ninth for his 15th save in as many chances.

Denorfia hit a 2-1 pitch from J.A. Happ to center field with two outs in the fifth, his fourth, to give the Padres a 3-1 lead.

Astros starter J.A. Happ (3-7) continued his disappointing season, despite delivering a quality start for the fifth time in the past six outings. Happ allowed six hits and three runs in six innings, breezing through the first three innings.

"I definitely feel like I pitched better than [his record], but at times it's frustrating, too," said Happ, who is tied for Pittsburgh's Paul Maholm for the most losses in the NL. "I've just got to keep going out there and keeping us in the game, and that's the goal every time out."

Information from the Associated Press was used in this report