Oswalt (13-13) allowed one run and six hits, striking out seven. The right-hander is 7-0 with a 1.41 ERA in his last eight starts and 8-1 overall since Philadelphia acquired him from Houston on July 29.
The Phillies won their fifth straight game and reduced their magic number for clinching their fourth consecutive division title to 12. The two-time NL champions entered with a three-game lead over Atlanta.
Jayson Werth and Carlos Ruiz each homered and drove in two runs, Raul Ibanez also knocked in a pair and the Phillies jumped on Jason Marquis for six runs in the first inning.
Marquis (2-9) retired the first batter and exited after the next eight reached safely. He was charged with six runs and six hits, increasing his ERA from 6.60 to 7.71. That's not what the Nationals expected when they gave the 2009 All-Star a $15 million, two-year contract over the winter.
Oswalt has exceeded expectations. The three-time All-Star was 6-12 with Houston, mainly because the Astros averaged 2.3 runs in his starts. Oswalt has a 1.94 ERA in 10 starts with the Phillies, and they're 9-1 in those games.
Oswalt was moved up a day and pitched on regular four days' rest. The Phillies adjusted their rotation so Cole Hamels, Roy Halladay and Oswalt will face the Braves in a three-game series that starts Monday. The trio also would be in line to pitch in a season-ending three-game set at Atlanta, if needed.
Singles by Placido Polanco and Ryan Howard sandwiched around a walk to Chase Utley loaded the bases with one out in the first. Werth drove in a run with an infield single. Ibanez hit a two-run single to make it 3-1, and advanced to second on the throw to third.
After Ruiz was hit by a pitch, the Phillies got a big break. Wilson Valdez hit a sharp grounder toward second baseman Danny Espinosa that should've been an inning-ending double play. Instead, the ball hit umpire Tim Tschida and ricocheted into the outfield for an RBI single.
Oswalt then lined an RBI single to left, chasing Marquis. Shane Victorino's fielder's choice grounder made it 6-1.
Werth connected off Scott Olsen in the fifth. Ruiz hit a two-run shot off Joe Bisenius in the eighth.
Ryan Zimmerman's RBI single in the first accounted for Washington's only run.
Victorino's perfect one-hop throw nailed Ivan Rodriguez trying to score on Justin Maxwell's shallow liner to center in the fourth.
NOTES: The six runs were the most in the first inning by Philadelphia this year. ... The Phillies are an NL-best 258-167 after the All-Star break in six seasons under Charlie Manuel. ... A crowd of 45,338 was the 115th straight sellout at Citizens Bank Park. ... Victorino extended his hitting streak to 10 games. ... Oswalt is 63-16 in August, September and October. ... Zimmerman finished 4 for 4.