On April 1, the Giants extended Sanchez's contract an additional year for $6 million in 2012. The next day, he had three hits, three RBI, and a home run against Lance Cormier in a 10–0 victory over the Dodgers. With the Giants trailing the Diamondbacks 3–2 in the sixth inning on April 16, Sanchez had an RBI double to drive in the tying run, then had a two-RBI single in the seventh to put the Giants ahead as they won 5–3. Sanchez hit a home run against Maikel Cleto on June 2, driving in four runs total as the Giants beat the St. Louis Cardinals 12–7. On June 10, Sanchez dislocated his shoulder diving for a ground ball by Reds second baseman Brandon Phillips. He was placed on the disabled list, and on August 1, it was announced that Sanchez would have season-ending surgery the next day. Sanchez batted .289 with three home runs and 24 RBI in 60 games in what would be his final major league season.
