Uggla hit a solo shot in the second inning and then delivered a three-run blast in the sixth off losing pitcher Justin Germano (0-3). Gonzalez finished off Florida's four-run sixth with a solo homer that gave the Marlins a 6-1 lead.
The Marlins were coming off a three-game sweep at the hands of the Los Angeles Dodgers. San Diego has lost 13 out of 16 games.
Khalil Greene's first home run of the year, a two-run shot in the seventh, brought the Padres within 6-3.