The Phillies improved to 16-19, beating the Padres 3-2 at Citizens Bank Park on Sunday afternoon.
Cole Hamels, fresh off a five-game suspension for intentionally hitting Nationals prospect Bryce Harper with a pitch, held San Diego to one run on five hits and three walks with five strikeouts in seven innings.
Jose Contreras allowed a run in the eighth, but Antonio Bastardo retired the final out of the frame with a runner on first to turn things over to Jonathan Papelbon.
Papelbon struck out two of the three batters he faced to record his 10th save in as many attempts. It was his second save in May after going 8-for-8 in April.
Jimmy Rollins hit his first home run of the season to lead off the game.
Brian Schneider went 2-for-2 and drove in a run with a second-inning single. Juan Pierre went 2-for-4 and doubled in a run in the fifth.