The 18-year-old was widely regarded as one of the brightest young talents in the game a few years ago, making the Milan matchday squad at the age of just 15.
However, the one-time Morocco international has since failed to establish himself at San Siro and spent last season on loan at Malaga, making just one appearance for the Spanish outfit.
"With Hachim, we get a talented player in the group, who needs a platform to develop further," Zwolle technical director Gerard Nijkamp told the club's official website.
"The fact that at 15 years old he was already on the bench says enough about his technical skills, but with his talent he needs playing time. We will give Hachim the opportunity to continue playing in the spotlight with us."
Mastour is yet to make his senior debut for Milan.