PHILADELPHIA -- All Wes Helms needed to get him going were some boos from an unforgiving crowd.
Ryan Howard hit a pair of homers for the NL East-leading Phillies, while Jamie Moyer failed in his fifth try to earn his 250th win.
Helms was a bust in his only season in Philadelphia in 2007. Signed to a $5.45 million, two-year contract as a free agent, Helms batted .246 with five homers and 39 RBI in 280 at-bats. Naturally, Phillies fans let him hear it whenever he plays here.
"It doesn't bother me," Helms said. "It actually drives me to try even harder to do well."
If that's what it takes, maybe Marlins fans should give Helms an earful at home. He's only hitting .246 with one homer and 10 RBI.
Volstad (4-3) allowed three runs and six hits. Dan Meyer retired the only batter he faced, Leo Nunez pitched a perfect eighth and Matt Lindstrom finished for his ninth save in 11 chances.
"He was throwing his curveball and pounding the strike zone," Marlins manager Fredi Gonzalez said of Volstad. "I was very encouraged the way he pitched."
Moyer (3-5) gave up four runs and seven hits in six innings, falling to 12-2 against the Marlins. The 46-year-old left-hander has improved his last two starts after a dreadful stretch. His ERA dropped slightly to 7.42.
"I feel I'm back to where I need to be," Moyer said.
Back from an 8-2 road trip, the defending World Series champions continued to struggle at home. They're 8-13 at Citizens Bank Park, and a major league-best 16-6 on the road.
Moyer breezed through the first three innings, retiring seven in a row before running into trouble in the fourth. Hanley Ramirez and Jorge Cantu walked to start the inning. Moyer thought he struck out Helms on a close 2-2 pitch, but didn't get the call. Helms drove the next offering out to left for his first homer of the season, giving the Marlins a 3-2 lead.
"Walks kill you," Moyer said. "It's the game right there."
Ronny Paulino's RBI single with two outs in the sixth increased Florida's lead to 4-2. Howard led off the bottom half with an opposite-field shot to left-center.
Helms' RBI single off Chan Ho Park in the seventh gave Florida a two-run cushion.
The Phillies jumped on Volstad in the first. After Raul Ibanez drew a two-out walk, Howard hit the first pitch he saw high off the brick batter's eye in straightaway center for a 2-0 lead.
Volstad pitched out of a jam in the fourth after consecutive singles by Shane Victorino and Pedro Feliz put runners at first and third with one out. Volstad struck out Carlos Ruiz and Moyer to preserve a one-run lead.
"That was a real good team win for us," Volstad said. "Everyone contributed."
Victorino led off the ninth with a walk against Lindstrom, and pinch-hitter Matt Stairs came to the plate as the potential tying run. But Victorino inexplicably tried to steal second and was thrown out by Paulino.
"It was a stupid mistake," Victorino said.
Marlins LHP Renyel Pinto was placed on the 15-day disabled list with left elbow inflammation. RHP Cristhian Martinez was called up from Double-A Jacksonville to take his spot. ... Park had five strikeouts in three innings. ... Howard has 18 career multihomer games. His previous one came against Washington last Sept. 3. ... Phillies manager Charlie Manuel plans to stick with struggling closer Brad Lidge, who blew saves in consecutive games against the New York Yankees this weekend. Lidge has converted eight of 12 save chances this season after going 48 for 48 last year, including the postseason.