Freeman held off Dodgers rookie Yasiel Puig to win the fan voting for the final spot on NL All-Star roster. The first baseman drove in two runs with a first-inning double and added run-scoring singles in the second and fourth innings.
Justin Upton also had three hits to help Tim Hudson (6-7) earn his second straight win. Craig Kimbrel pitched the ninth for his 25th save.
Latos (8-3) lasted only four innings in his shortest start of the season. He allowed six runs on nine hits and two walks. The six earned runs allowed matched his season high.
Braves right fielder Jason Heyward left the game in the second inning with a strained right hamstring.
Devin Mesoraco led off the Cincinnati ninth with a single. Kimbrel struck out pinch-hitter Xavier Paul and Shin-Soo Choo, who had two hits and scored three times. Kimbrel ended the game on Zack Cozart's fly ball to left field.
Freeman received an ovation before his first-inning at-bat. Fans were still chanting "Freddie! Freddie" when he hit a two-run double to center field on his first pitch to drive in Andrelton Simmons and Justin Upton.
Simmons walked to lead off the fourth and scored on Reed Johnson's triple to the left-field corner. Upton doubled, driving in Johnson, and scored on Freeman's single for a 6-3 lead.
Hudson gave up four runs, three earned, on eight hits in seven innings. His two straight wins came after six consecutive losing decisions.
Brandon Phillips had two hits and drove in two runs for Cincinnati.
Choo led off the game with a single. Hudson issued a one-out walk to Joey Votto before giving up run-scoring singles to Phillips and Jay Bruce.
Choo doubled in the third inning and scored on Votto's sacrifice fly. He walked in the fifth and scored on Votto's infield hit and third baseman Chris Johnson's throwing error.
The Reds cut Atlanta's lead to 6-5 with a run off Jordan Walden in the eighth. Cozart reached on Simmons' throwing error and scored on Phillips' double.
With runners on first and second, Walden struck out Todd Frazier and ended the eighth on Chris Heisey's fly.
Heyward strained his right hamstring on a slide at third base in the second inning.
Heyward, who reached on a throwing error by Votto, advanced to third on Justin Upton's infield hit. Heyward was running from second base when he appeared to make a last-second decision to slide into third.
Safe on the play, Heyward remained on the ground at third base before finally rising to his feet and walking off the field, accompanied by manager Fredi Gonzalez.
NOTES: The Reds placed C Ryan Hanigan on the 15-day DL with a sprained left wrist and recalled C Corky Miller from Triple-A Louisville. ... Braves C-OF Evan Gattis, recovering from a right oblique strain, will begin an injury rehab assignment with Triple-A Gwinnett on Friday. ... Former Braves two-time MVP Dale Murphy, honored in a pregame ceremony, wore his 1980s-era light blue Braves jersey as he threw out the first pitch to Freeman. ... Atlanta's Kris Medlen (6-8) will face Cincinnati's Bronson Arroyo (5-6) in a matchup of right-handers with losing records on Friday night.