Uggla's first blast in the fourth inning erased a 1-0 deficit and his second homer two innings later put the Braves ahead to stay at 2-1.
Atlanta put the contest away with five more runs in the eighth, highlighted by Freeman's grand slam, as the Braves cruised to a victory in the rubber match of a three-game series.
Andrelton Simmons went 4-for-5 and Jordan Schafer added three hits for Atlanta.
Mike Minor (4-2) hurled seven innings of one-run ball to record the decision, walking three and striking out seven.
Reds starter Mike Leake (2-2) fanned six over seven full frames but was touched for four runs on eight hits.
Zack Cozart and Jay Bruce went deep for Cincinnati.