On January 13, 2010, Huff signed a one-year, $3 million contract with the San Francisco Giants. He spent most of the season playing first base for the Giants, although he played left field and right field when Buster Posey played first base from May 29 – June 30 and Travis Ishikawa made most of the starts at first base from July 3 – August 14. On April 14, Huff hit his first career inside-the-park home run (his first home run with the Giants), a game-winning hit against Charlie Morton in a 6–0 victory over the Pirates. On August 28, he got his 1,500th career hit against Alex Sanabia in a 10-inning, 10–9 victory over the Marlins. In 157 games, Huff batted .290 with 165 hits, 35 doubles, 26 home runs, and 86 RBI while scoring 100 runs (tied for seventh in the league with Brandon Phillips, Martín Prado, and Dan Uggla) for the first time in his career. Huff finished seventh in the voting for the NL MVP award.