The game was delayed by rain at the start for 78 minutes.
New York won its sixth straight, its longest win streak this season. Darrell Rasner (4-4) picked up the victory by allowing just three hits and two runs in five innings. Mariano Rivera was called on to pick up his 19th save.
Jake Peavy (5-4) gave up four runs on six hits in four innings to take the loss. It was the Padres' third straight setback.
Rodriguez had a solo homer in the fourth, his 14th of the year, to give the Yankees a 4-2 lead.
New York pounded out 14 hits and the Yankees have scored 37 runs in their last four games.