The 5-foot-6 Altuve claimed 27 of 30 first-place votes for 405 points to beat AL Rookie of the Year Aaron Judge of the New York Yankees. He matched Yankees shortstop Phil Rizzuto (1950) and Philadelphia Athletics pitcher Bobby Shantz (1952) as the shortest players to win the award.
"I don't know what to say," Altuve said. "I wasn't expecting this. This is great."
Judge, the 6-foot-7 New York right fielder, finished with two-first place votes for 279 points.
Altuve led the majors with a .346 batting average for his third career batting title, and hit 24 homers with 81 RBIs in 153 games. He also posted a .410 on-base percentage and was second in the majors with 204 hits.
Altuve never batted under .298 in any month and hit .485 in July as the Astros won 101 games in the regular-season.
Last season, Altuve was third with 227 points when Mike Trout of the Los Angles won the award. He placed 10th in 2015 when Toronto's Josh Donaldson won and was 13th when Trout won in 2014.
He became the first second baseman to win the AL MVP since Dustin Pedroia in 2008. Altuve also joined Nellie Fox (1959 Chicago White Sox), Joe Gordon (1942 New York Yankees) and Charlie Gehringer (1937 Detroit Tigers) as the fifth second baseman to win the AL MVP award.
Altuve is the second player to win an MVP for the Astros, who moved to the American League following the 2012 season. Houston's only other MVP winner was Jeff Bagwell in the strike-shortened 1994 season.
Altuve also is the 12th second baseman to win the award.
While Judge led the AL in homers, runs (128), walks (127), he also slumped in the second half and led the majors with 208 strikeouts.
Judge posted a .228 batting average after the break, including a .185 mark in August and though he batted .311 in the final month, it likely cost him a chance at being New York's first MVP since Alex Rodriguez in 2007.
Judge became the second rookie to finish runner-up in the MVP voting. The other instance was when Trout finished second to Detroit's Miguel Cabrera in 2012.
Judge also became the 22nd Yankee to finish as the runner-up in the award and first since Mark Teixeira in 2009.
Trout finished fourth with 197 points. It was the first time in six years Trout did not finish first or second in the balloting.