Cabrera hit .330 with 44 homers and 139 RBIs to become the first Triple Crown winner since Boston's Carl Yastrzemski in 1967. The last four Triple Crown winners have been voted MVP, including Mickey Mantle in 1956 and Frank Robinson in 1966.
Cabrera also led the league with a .606 slugging percentage for the AL champion Tigers. He became the second straight Detroit player voted MVP, following Justin Verlander in 2011, and was the first Venezuelan to earn the honor.
Before the season, he switched from first base to third to make way for Prince Fielder, signing as a free agent.
The 2010 NL Rookie of the Year, Posey set career highs with a .336 average, 24 homers and 103 RBIs for the World Series champion Giants. His 2011 season was cut short by a collision with the Marlins' Scott Cousins on May 25 that resulted in a fractured bone in Posey's lower left leg and three torn ankle ligaments.
Posey, the fifth overall pick in the 2008 amateur draft, won the NL batting title after teammate Melky Cabrera requested a rules change that disqualified him. Cabrera, who hit .346, missed the final 45 games of the regular-season while serving a suspension for a positive testosterone test and would have won the batting crown if the rule hadn't been changed.
Ernie Lombardi had been the previous catcher to capture the NL batting championship, in 1942.
Catchers have won the NL MVP just eight times, with Posey joining Gabby Hartnett (1935), Lombardi (1938), Roy Campanella (1951, 1953, 1955) and Johnny Bench (1970, 1972). The other winning catchers were Lombardi in 1938 and Gabby Hartnett in 1935.
Posey is the first Giants player to win since Barry Bonds was voted his record seventh MVP award in 2004.
Pittsburgh outfielder Andrew McCutchen (245) was third, followed by St. Louis catcher Yadier Molina (241).