The 38-year-old has been a free agent since the recent end of the MLS season, where he spent time with LA Galaxy, where he scored 53 goals in 58 appearances.
The former Sweden international had initially been linked with a move to Tottenham before boss Jose Mourinho ruled out a move and, according to The Telegraph, Ibrahimovic has now decided on a return to Milan.
The newspaper says that despite the veteran forward having attracting interest from the English top flight, Milan led the race to sign him and have now tied up a deal.
It is claimed that Ibrahimovic’s move has been agreed in principle, with the striker having until at least the end of the current season to help Milan climb the Serie A table.
Milan are in 11th on 17 points, eight behind the top four as they chase a return to the Champions League under recently-appointed Stefano Pioli.
Ibrahimovic has had only one spell in the Premier League when he helped Manchester United to the EFL Cup and Europa League under Jose Mourinho, scoring 28 goals along the way.
The striker has spent time with Milan before, however, playing for the club between 2010 and 2012 before he joined Paris Saint-Germain in 2012.