Seattle announced the deal about 90 minutes before baseball's non-waiver trade deadline Thursday.
The Mariners sent outfielder Abraham Almonte, their opening day starter in center field, and right-hander Stephen Kohlscheen to the Padres. Almonte made the club out of spring training but lasted only 27 games before being optioned to the minors.
Denorfia, 34, was hitting .242 with one homer, 10 doubles and 16 RBIs in 89 games for the Padres. He's a career .275 hitter and last season hit .279 in 144 games for San Diego.
Denorfia also has the flexibility to play all three outfield positions, having at least 150 career starts at all three spots.