Hudson (5-3) surrendered five walks over five innings, but benefited from two Yankees runners being thrown out at the plate.
The right-hander allowed three runs (two earned) on four hits and struck out five.
Relievers Chad Durbin, Jonny Venters and Eric O'Flaherty each tossed a shutout frame and Craig Kimbrel picked up his 20th save with a 1-2-3 ninth as the Braves evened their three-game set at Yankees Stadium.
Jason Heyward's RBI single in the sixth inning broke a 3-3 tie and Andrelton Simmons went 2-for-4 with a pair of RBI for Atlanta.
New York's Hiroki Kuroda (6-7) was saddled with the loss, giving up all four runs on six hits in a seven-inning stint.
Nick Swisher supplied a two-run double for the American League East-leading Yankees.
Reindeer recovered after escaping from Santa during lighting ceremony
Selena Gomez drops F-bomb, walks off stage during Jingle Ball performance