Washington, 98-64, is assured of at least a tie for the best record in the major leagues. The Nationals next play Sunday, against the winner of Friday's wild-card game between St. Louis and Atlanta, in the first game of a National League Division Series.
Philadelphia, missing the playoffs for the first time since 2006, ends the year 81-81.
Zimmerman hit his 25th home run of the season in the fourth inning and Morris and Moore followed with back-to-back doubles for a 2-1 Washington lead.
Morris added his 10th home run of the year in the sixth.
Zimmerman opened the eighth with a single and, after Bryce Harper was put in to run, Morris delivered an opposite-field shot for his 18th home run of 2012.
Edwin Jackson (10-11), who allowed nine runs in a 1 1/3-inning outing his last start, gave up one run and six hits over 6 2/3 innings Wednesday. He struck out six and walked one.
The Nationals rapped Phillies starter Cliff Lee (6-9) for eight hits and three runs in six innings.
Carlos Ruiz doubled and scored on a Darin Ruf hit a sacrifice fly in the fourth to account for the Philadelphia run.