Hamels (5-1), who was suspended five games and fined for intentionally throwing at Washington rookie Bryce Harper, notched his sixth consecutive start without a loss.
The left-hander tamed the Padres on one run in a seven-inning effort, giving up five hits, walking three and fanning five while lowering his ERA to 2.28.
Jeff Suppan (2-1) absorbed the loss for the Padres, surrendering three runs (two earned) on six hits over six frames.
Jesus Guzman went 2-for-3 with an RBI in the loss.
Couple calls 9-1-1 over missing hash browns; assault McDonanld's employees
Wisconsin business offering 'therapeutic cuddling' forced to close