Allen was dismissed from the Spartans by coach Tom Izzo for unspecified reasons earlier this month. He will redshirt next season, then be eligible to play in 2011-12.
Allen, a 6-foot-3 senior from Lawrenceville, Ga., chose Iowa State over Texas El-Paso and St. John's.
"I'm excited to select Iowa State as the place to finish my college basketball career," Allen said in a statement. "I'll miss Michigan State and all the people that have helped me and supported me over the last three years.
"My teammates and I achieved a lot together and I'll take that experience with me to help my new team. I'll be pulling for Michigan State next year and I know they'll be cheering for me. Like all college kids, I have areas to grow. This has been a wake-up call for me, and one that will ultimately make me stronger as a player and a person."
Allen averaged 8.2 points, 2.8 rebounds and 2.0 assists in 36 games for the Spartans last season.
Fred Hoiberg, a former Cyclones player, is a first-year coach at Iowa State.