The homer by Blanks, his fourth of the season, came in the fourth inning and gave the Padres a 3-2 lead.
Jason Bartlett added to the San Diego advantage with an RBI single in the fifth and the Padres fought off the Marlins the rest of the way despite persistent threats.
Florida loaded the bases with one out in the sixth but could produce only one run when reliever Erik Hamren walked Emilio Bonifacio.
The Marlins wasted a two-out double in the seventh and had two runners on with just one away in the eighth without scoring.
Bell gave up a leadoff walk in the ninth but retired the next three batters for his 34th save. He protected the win for starter Wade LeBlanc (2-2), who gave up three runs over 5 1/3 innings.
The loss went to Chris Volstad (5-1), who surrendered four runs on six hits in five innings.