Cabrera, the Tigers' power-hitting third baseman, won the American League award in what had been expected to be a close battle with Los Angeles Angels rookie Mike Trout.
Cabrera became the first player in 40 years to lead a league in batting average (.330), home runs (44) and RBI (139).
Despite those numbers, Trout was favored by some due to his batting prowess combined with his defensive skills.
Balloting by the Baseball Writers' Association of America easily favored Cabrera, who received 22 out of a possible 28 first-place votes. Trout received the other six. Cabrera wound up with 362 points to 281 for Trout.
It was the second straight year a Detroit player was named MVP with Cabrera following pitcher and 2011 winner Justin Verlander.
Cabrera, however, is the first Detroit position player to capture the honor since Hank Greenberg 72 years ago. He is also the first Venezuelan-born player to be named MVP.
Posey led the National League and the majors in batting average with a .336 mark. He helped pace the Giants to their second World Series title in three years thanks to a four-game sweep of the Tigers.
Posey was named No. 1 on 27 ballots and totaled 422 points. Milwaukee's Ryan Braun was second with 285.
Biologists detail four new deep-sea 'killer sponges'
Pistorius testifies he didn't consciously pull trigger when he shot girlfriend