Volstad 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.
Moyer 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.
Back from an 8-2 road trip, the defending World Series champions continued their struggles 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 straight 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.
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. Helms heard boos throughout the night. He was a bust in his only season with the Phillies in 2007. Signed to a $5.45 million, two-year contract, Helms batted .246 with five homers and 39 RBIs in 280 at-bats.
The Phillies quickly 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.