The 31-year-old Gerut hit .296 with 14 home runs and 48 RBIs in 100 games last season even though he missed nearly two months.
Gerut's contract represents a substantial increase from the $700,000 he earned last season after making the team out of Spring Training. He signed a Minor League contract just weeks before the team reported to Peoria, Ariz.
Gerut started the season with the Padres but was optioned to Triple-A Portland on April 5 when Jim Edmonds came off the disabled list. Gerut hit .308 in 27 games with Portland before he was promoted on May 9 after Edmonds was released.
Gerut, in his first Major League action since 2005, quickly became a fixture in center field and showed good defense, especially covering a lot of ground at spacious PETCO Park. He proved more than a capable leadoff hitter as well, hitting .296 in that spot.
Gerut hit a game-winning, two-run home run against Arizona on Aug. 25, but suffered a badly sprained left middle finger attempting to make a sliding catch in the outfield two days later.
Gerut didn't play in another game for the Padres, missing the final month of the season.
Corey Brock is a reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.