On February 10, 2012, Cabrera signed a one-year, $4.55 million deal with the Indians to avoid arbitration. In the process, Cabrera filed for $5.2 million, but the Indians submitted $3.75 million. He was the final Indian eligible for arbitration to be under contract, and he was under team control through 2013.
On April 1, 2012, Cabrera agreed to a two-year, $16.5 million extension with a one-year club option that keeps him under Cleveland's control through 2014. On June 19, 2012, he hit a walk-off two-run home run off of Cincinnati Reds' closing pitcher Aroldis Chapman in the tenth inning, giving the Indians a 3–2 victory. It was Cabrera's second walk-off home run of his career. Cabrera was selected to appear in the 2012 MLB All-Star Game on July 1, 2012, as a reserve shortstop, joining teammate Chris Perez as one of two Indians voted to appear in the Midsummer Classic. Between the beginning of July and July 17, Cabrera's batting average had dropped 26 points (.300 on July 1 to .274 on July 17). Cabrera would record his first three-hit game since June 30 when he went 3 for 5 on July 18 in a win versus the Tampa Bay Rays. Two days later Cabrera would hit his first home run of July and first since June 29 when he hit a solo shot against the Baltimore Orioles on July 20. By July 22, however, Cabrera's batting average reached a season-low .272.