Hudson (8-6) gave up just two hits after the third inning before being lifting with one out in the eighth. He walked three and struck out three.
The Braves scored five times in the third to beat Juan Nicasio (3-2). He lasted 2 1/3 innings, giving up five runs and seven hits while walking three.
Jordan Schafer led off the inning with a double and scored on a base hit by Alex Gonzalez. After Chipper Jones singled, Freeman drilled a home run to left-center. It was his 13th homer of the year.
Dan Uggla followed with a double and made the score 5-2 when Jason Heyward singled.
Heyward added a home run in the fifth -- his ninth of the season -- for Atlanta's final run.
Jason Giambi doubled in one run and got an RBI with a fielder's choice for the first two Colorado runs. Mark Ellis scored on a wild pitch in the eighth for the other.