Hudson (12-4) ran his unbeaten streak to eight starts, holding the Padres to just two hits while walking one and striking out four.
The right-hander improved to 5-0 in his last five outings against San Diego as the Braves evened their four-game series at one win apiece.
San Diego's Clayton Richard (9-12) went 6 1/3 innings in the loss, yielding five runs on nine hits.
Exploding whale video goes viral on Internet
Toddler uninjured after being knocked over by Obama family dog