Ryan Howard hit a grand slam, capping a five-run rally in the eighth inning that lifted the Philadelphia Phillies over the Houston Astros 6-5 on Thursday night.
Chris Carter hit two homers and drove in four runs for Houston, which lost its eighth straight in Philadelphia.
Carlos Ruiz and Ben Revere each had two hits as the Phillies completed a three-game sweep.
Mario Hollands (2-1) pitched two scoreless innings and Jonathan Papelbon pitched the ninth for his 27th save in 30 chances.
Howard connected with two outs on a full-count pitch from Tony Sipp (2-2).
Marc Krauss also homered for Houston.
Philadelphia trailed 5-1 entering the eighth after Colin McHugh threw seven strong innings for the Astros.
Reliever Josh Fields gave up hits to three of the four batters he faced, including Cody Asche's RBI single that made it 5-2.
Sipp allowed a single to Jimmy Rollins to load the bases with one out. After Chase Utley flied out, Howard homered into the seats in left-center field.
McHugh was in line for first victory since June 3 after allowing one run and five hits, striking out eight without a walk. He is 0-6 in his last nine starts, and has a 1.86 ERA on the road overall.
Phillies starter Sean O'Sullivan gave up three homers in six innings. He was summoned from Toledo, Ohio, where the Phillies' Triple-A team was playing, after Philadelphia traded pitcher Roberto Hernandez to the Los Angeles Dodgers earlier in the day.
O'Sullivan had started the second game of a doubleheader on June 28 against Atlanta in his only other big league appearance this season.
Carter hit his second homer of the game and 24th of the season, a two-run drive in the third. He leads the majors with 11 home runs since the start of July.
Astros: Reliever Josh Zeid had the first of two foot surgeries on his right foot on Wednesday, and the Astros deemed it successful. Zeid, diagnosed with sesamoiditis in both feet, will have the same surgery on his left foot in six weeks. The right-hander appeared in 23 games this season with a 6.79 ERA in 20 2/3 innings. He last pitched July 24. ... Outfielder George Springer will rejoin the Astros in Houston on Friday, but his status will be evaluated prior to the game. He was on pace to be activated from the DL (quadriceps), but his return is in question after leaving Wednesday's rehab start at Single-A Quad Cities because of discomfort.
Phillies: Cliff Lee's season officially is over. That was the indication on Wednesday when his locker was cleaned out, and the Phillies made the announcement on Thursday that Lee will not pitch again in 2014 due to a Grade 2 strain of his left elbow. Lee will require rest but not surgery and will begin a throwing program in September or October with the hopes that he'll be healthy for spring training.
Astros: Houston returns home to host intrastate rival Texas on Friday night in a matchup of the teams with the worst records in the AL West. Astros left-hander Brett Oberholtzer (4-7, 4.17) faces right-hander Miles Mikolas (1-4, 7.29). Oberholtzer, in his fourth stint in the big leagues this season, is 4-1 with a 3.08 in his last eight starts.
Phillies: Philadelphia hosts the Mets for the first of four on Friday night. Right-hander A.J. Burnett (6-11, 4.16) opposes Mets righty Bartolo Colon (10-9, 4.12) in a meeting of veterans who are a combined 78 years old. Two-time Cy Young winner and eight-time All-Star Roy Halladay also will be on the mound for the Phillies, but in a ceremonial capacity. Halladay will throw out the first pitch as the Phillies welcome back former players on alumni weekend.