The publication reports that the deal will be announced formally Thursday night or Friday morning. The deal can be renewed if certain conditions are met.
Ibrahimovic spent two seasons with Milan from 2010 to 2012, winning a Serie A title, and had long been linked with a return to the club. Sources told ESPN, however, that the 38-year-old was told to lower his wage demands in order to facilitate the move.
Milan director Zvonimir Boban initially cast doubt on the move, due to concerns over the forward's age.
Ibrahimovic earned $7.2 million this past season, according to the MLS players salary database.
The Swedish star has 535 career goals across all levels of competition.
Ibrahimovic was a two-time MLS Best XI selection while helping raise the league's profile.
He had 30 goals and seven assists in 29 matches this past season to finish second in MVP voting, behind LAFC's Carlos Vela.
Among Ibrahimovic's other achievements include scoring 62 goals in 114 appearances for the Swedish national team, and 421 more in club play.
He has helped his teams win 11 league titles in four different countries.
Information from Reuters was used in this report.