Ryan Madson and J.C. Romero pitched one perfect inning each to complete the Phillies' one-hitter.
Moyer (9-6) limited Florida to two baserunners and departed after throwing 94 pitches. The 46-year-old left-hander has won all eight of his career starts in Miami, and he's 13-2 overall against the Marlins.
The Phillies enjoy the longest current winning streak in the majors, and they've won 10 of their past 11 games. Resuming play after the All-Star break, they increased their lead over second-place Florida to five games in the NL East to start a four-game series.
The 29-year-old Howard hit his 23rd homer of the season in the sixth inning to reach the 200 milestone in 658 games, fewer than any player in major league history. Ralph Kiner, previously the fastest player to reach 200 home runs, did it in 706 games.
All-Star Raul Ibanez hit two home runs, giving him 24 this season.
Moyer came into the game with an ERA of 5.99 but won for the fifth start in a row. He rarely reach 80 mph on the radar gun, yet retired the first 12 batters before Jorge Cantu lined a single to start the fifth.
Ronny Paulino walked with one out, but Moyer retired the next two batters to escape. Those were the only baserunners allowed by Moyer, who improved his career record to 255-191.
NL batting leader Hanley Ramirez went 0 for 3 against Moyer, who matched Florida's hit total with a single to hike his average this season to .087.
Chris Volstad (6-9) pitched six innings and allowed four runs, all on homers. He has given up 20 home runs this season.
Howard has four homers in 15 career at-bats against Volstad. The slugger became the eighth Phillies player to reach the 200 mark.
The Phils improved to 27-15 on the road, best in majors. They're 4-0 in Miami.
Howard walked to start the second inning, and Ibanez followed with a homer. Ibanez, who grew up in Miami, homered again in the fourth for a 3-0 lead and his third multihomer game this season.
NOTES: Newly acquired Phillies RHP Pedro Martinez joined the team and threw on the side before the game. ... Ramirez began the second half of the season batting .456 with runners in scoring position, best in the majors. ... Marlins C Paulino threw out Shane Victorino and Jimmy Rollins trying to steal second. ... The Phils' Jayson Werth went 0 for 4 with four strikeouts.
Get Action News on your website