Hudson (11-4) yielded only one unearned run on four hits while tossing 72 of his 116 pitches for strikes, recording his 100th victory as a member of the Braves.
The right-hander walked two and struck of three, boosting Atlanta to its ninth victory in 10 games in the opener of a three-game set.
Houston's Armando Galarraga (0-1) was saddled with the loss, giving up four runs on five hits over 5 1/3 innings.
J.D. Martinez supplied the only RBI for the Astros, who lost their 10th straight and 29th in 32 contests overall.