Freeman smacked a two-run double and scored on a wild pitch during a five-run third inning while Johnson capped the outburst with a run-scoring single.
Freeman finished with three hits and Evan Gattis went 2-for-4 with an RBI as the Braves split a rain-shortened two-game series, snapping a three-game losing streak.
Hudson (4-1) allowed three runs on five hits over 7 1/3 innings, issuing one walk while striking out seven.
Mets starter Jonathon Niese (2-3) was roughed up for seven runs on seven hits over four full frames.
David Wright went 2-for-4 with a two-run homer for New York.
N.J. man wakes up from 10-hour sleep with knife in back
Puzzle-maker slips 'Murdoch Is Evil' into Rupert Murdoch's Sunday Telegraph