ATLANTA -- Tim Hudson allowed one run in seven innings, Dan Uggla hit a three-run homer and the Atlanta Braves beat the Florida Marlins 5-1 on Saturday night.
Uggla's 20th homer, a three-run shot in the second inning, extended his career-best hitting streak to 21 games.
The Marlins have dropped two straight games following a five-game winning streak.
Hudson (10-7) allowed six hits, one run and no walks with five strikeouts.
Winning for the first time in three starts, Hudson improved to 4-1 with a 2.80 ERA in six starts this month.
Jonny Venters struck out Hanley Ramirez to end a bases-loaded threat in the eighth.
Eric Hinske's 10th homer, a solo shot in the eighth, gave the Braves a 5-1 lead and took closer Craig Kimbrel out of a save situation in the ninth. Kimbrel retired Logan Morrison on a groundout, Mike Stanton on a strikeout and Mike Cameron on a flyout.
Anibal Sanchez (6-4) allowed eight hits, four runs, one walk and struck out five in five innings, extending his career-long streak without a victory to nine starts. He dropped to 0-3 with a 4.94 ERA his last four starts against Atlanta.
The damage could've been worse if Sanchez hadn't stranded the bases loaded with a strikeout of David Ross to end the fifth, but manager Jack McKeon lifted him for a pinch-hitter in the sixth. Sanchez dropped to 1-3 with a 5.09 ERA in his last 11 starts.
Atlanta took a 1-0 lead in the third when Alex Gonzalez singled, moved to second on Hudson's sacrifice bunt, advanced to third on Jose Constanza's groundout and scored Martin Prado's RBI single.
After Freddie Freeman singled, Uggla crushed a first-pitch slider to make it 4-0. Uggla, who struck with runners on first and third in the fifth, is batting (26-for-76) with eight homers, 18 RBIs since July 5.
Florida cut the lead to 4-1 in the sixth on Omar Infante's RBI single.
Brian Sanches pitched a scoreless sixth and seventh before Randy Choate gave up Hinske's homer.
Cameron doubled to lead off the Marlins' third but was erased to end the inning when Freeman dove to catch Sanchez's liner at first and threw to shortstop for Gonzalez for the tag.
Freeman went 2-for-4 has reached base safely in 36 of his last 40 games. He is hitting .374 in 99 at-bats this month.