Hudson (16-6) won for the fourth time in six starts, yielding only two hits while striking out four.
Craig Kimbrel racked up his 39th save for the National League wild card-leading Braves, who reduced their magic number for playoff berth to two.
Cliff Lee (6-8) absorbed the loss despite surrendering just one earned run on nine hits. He fanned 11 in the hard-luck setback.
Chase Utley got the only RBI for Philadelphia.