Hudson (1-0) came off the disabled list following off-season back surgery to log the win, holding the Pirates to two runs on six hits over five innings.
The right-hander walked a pair and struck out six.
Dan Uggla drew a bases-loaded walk for the go-ahead run in the fifth inning after Michael Bourn singled and Martin Prado and Brian McCann each drew bases-on-balls off Kevin Correia (1-1) with one out.
Prado added some insurance with a solo homer in the seventh and the Braves held on to down Pittsburgh for the second time in three games.
Jose Tabata went 3-for-5 with a two-run single for the Bucs.
18-year-old elf alleges mall Santa pinched her buttocks on the job
Caroline Berg Eriksen: Soccer player's wife triggers debate with post-birth selfie