Halladay (16-8) put at least one runner on base in every inning, giving up three walks while striking out five. He survived, however, to win his sixth straight start.
Ryan Madson and Brad Lidge each allowed a hit during the inning they worked with Lidge getting his 17th save.
Ian Desmond doubled with two out in the ninth, but Lidge struck out Adam Dunn on four pitches to end the game.
Philadelphia recorded its 14th shutout of the season and has won five out of six. The Phillies remained 2 1/2 games behind division-leading Atlanta in the National League East after the Braves defeated the Chicago Cubs earlier in the day.
Jason Marquis (0-6) failed in his bid to win for the first time this season. He gave up four hits and walked four over five innings.
Marquis walked Chase Utley and Jayson Werth with two away in the third and Ibanez delivered Utley with a grounder just inside the first-base line that bounced off Dunn's glove for a double.
Washington went 0-for-11 with runners in scoring position.