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.
Exploding whale video goes viral on Internet
Britney Spears on kissing Ryan Gosling, Justin Timberlake in the Mickey Mouse Club