The Rossoneri have been active in the summer transfer market, seeking to strengthen their midfield after parting ways with Sandro Tonali.
The 24-year-old’s impressive performances for AZ last season have earned him the move.
Across 54 games in various competitions, he bagged seven goals and 12 assists.
The Zwolle-born central midfielder honed his skills in FC Twente’s youth system before returning to his hometown to join PEC Zwolle in 2015.
His first-team debut for Zwolle was in August 2017 against Roda JC.
The Dutch midfielder’s talent caught AZ’s attention and he signed for them the following summer.
He initially plied his trade for their reserve team for two years before earning a place in the senior squad.
Reijnders netted nine goals and eleven assists in 105 appearances for the Dutch club.
He received his first full call-up to the Netherlands national team for the Nations League finals earlier this year.
Reijnders will commence pre-season training alongside his new teammates under the guidance of Stefano Pioli.
The Dutchman will don the number 14 shirt previously worn by Tiemoue Bakayoko before his return to Chelsea.
Reijnders is Milan’s fifth summer signing, joining Christian Pulisic, Ruben Loftus-Cheek, Luka Romero and Marco Sportiello at the San Siro.
Milan have been bolstering their squad to mount a strong challenge for domestic and European honours in the upcoming season.
They are still in the market for a striker, with Porto’s Mehdi Taremi one of the options on their shortlist.