for-20 slump with a leadoff homer in the 10th inning as the San Francisco Giants snapped out of its offensive slumber, beating the New York Mets 7-6 Tuesday. Nate Schierholtz homered for the Giants, who had lost eight of 11. The defending World Series champions, shut out three times in their previous six games, entered with the second-worst offense in the National League. Javier Lopez (1-0) and Francisco Rodriguez escaped dicey jams in the ninth before Huff sent a 2-0 pitch from Taylor Buchholz (1-1) off the facing of the right-field overhang for his third home run. Carlos Beltran hit a three-run homer and Ike Davis a two-run shot for the Mets. Phillies 4, Nationals 1: At Philadelphia, Cole Hamels pitched a five-hitter for Philadelphia and Raul Ibanez doubled twice as he stopped 0-35 slump. Jayson Werth was 0 for 3 with a walk in his first game in Philadelphia since signing a $126 million, seven-year deal with the Nationals. Werth was mostly booed when he came to the plate in the first, but he turned the jeers into cheers when he took off his helmet and tipped it to the crowd. Hamels (4-1) struck out six and walked one in his eighth career complete game. Michael Morse homered for the Nationals. Livan Hernandez (3-3) allowed four runs and 10 hits in 6 1-3 innings. Astros 10, Reds 4: At Cincinnati, left-hander J.A. Happ singled home a run during Houston's six-run fourth inning – its biggest of the season – as Cincinnati earned its first losing record in nearly a year. The defending NL Central champs fell to 14-15, the first time they have been below .500 since they had an identical mark last May 7. Cardinals 7, Marlins 5: At St. Louis, Daniel Descalso hit his first career home run, a go-ahead three-run shot in the seventh inning, to lead St. Louis past Florida. Matt Holliday hit a two-run homer in the first and had two hits, dropping his NL-leading average one point to .409. Padres 6, Pirates 5: At San Diego, Rob Johnson hit a solo homer in the eighth inning and Heath Bell tied Trevor Hoffman's club record with his 41st consecutive save to lead San Diego past Pittsburgh. Diamondbacks 4, Rockies 3: At Phoenix, Justin Upton hit a tiebreaking homer to lead off the eighth inning as Arizona roughed up Jorge De La Rosa for one inning.