The Twins welcomed back their all-star catcher, Joe Mauer, who had been on the disabled list since mid-April. Mauer had an RBI single during the big first inning, his only hit in four at-bats.
Ben Revere drove in a run with a single in the fourth to give the Twins a 6-1 lead and that turned out to be the game-winner.
The Padres closed within one on Ryan Ludwick's three-run homer in the seventh, but relievers Glen Perkins, also just back from the DL, and Matt Capps combined to shut down San Diego over the final two innings.
Capps needed just six pitches in a perfect ninth to pick up his 10th save. Starter Brian Duensing (4-6) gave up two runs on seven hits in six innings to get the win.
Clayton Richard (2-9) suffered the loss while surrendering six runs on 10 hits in five-plus innings.