Lazetic, who turned 18 last week, joins the Serie A giant on a deal that runs through until the end of the 2025-2026 campaign.
The Serbia youth international progressed through Red Star's academy and made his senior debut for the club in November 2020.
After a loan spell with feeder club Graficar Beograd, Lazetic returned to Red Star at the start of this season and found the net once in 16 appearances.
Milan is reported to have paid an initial €4million to sign the youngster, who has been handed the number 22 shirt at San Siro.
Lazetic will link up with the Rossoneri's first-team squad and is effectively a replacement for Pietro Pellegri, whose loan deal was terminated earlier on Friday (AEDT).
Pellegri joined Milan from Monaco in August but featured just six times in the league in an injury-plagued campaign and will spend the rest of the season with Torino.
Il Toro have the option to sign the former Genoa striker at the end of the campaign.