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.
Boston schools pull out free condoms over wrapping complaints
Ray Liotta sues skin care company over use of likeness