The 35-year-old former Sweden striker made 46 appearances and scored 28 goals for United last season.
Ibrahimovic was released by the club in June after his season was ended prematurely by a knee injury, but he is expected to be fit again in December.
“After his contribution last season he deserves our trust and we will be patient waiting for him to return,” said manager Jose Mourinho.
Ibrahimovic, who initially joined the Red Devils on free transfer in July 2016, had been recuperating at United’s training ground after knee surgery.
Mourinho added: “We are delighted Zlatan is on the road to recovery and we are equally delighted to have his ambition and experience back with us.
“I have no doubt that he will be important in the second part of the season.”
Two Los Angeles-based Major League Soccer clubs, LA Galaxy and Los Angeles FC, were both interested in signing the striker this summer.
However, Ibrahimovic said: “It was always mine and the club’s intention for me to stay.”
He added: “I cannot wait to get back out on that Old Trafford pitch, but I also know that I have to take my time to make sure that I am ready.
“I have been working hard and will continue to do so to make sure I am in the best possible condition for my return to the pitch.”
Ibrahimovic made his debut for hometown club Malmo in 1999 and went on to play for Ajax, Juventus, Inter Milan, Barcelona, AC Milan and PSG. He has won a trophy in every season since 2001, including 13 league titles.
He retired from international football after Sweden’s exit from Euro 2016, having scored 62 goals in 116 appearances.
What has he won?
Ajax: Eredivisie (2001-02, 2003-04), Dutch Cup (2002) Dutch Super Cup (2003)
Juventus: Serie A (2004-05, 2005-06) *Juve later stripped of titles
Inter: Serie A (2006-07, 2007-08, 2008-09) Italian Super Cup (2006, 2008)
Barcelona: La Liga (2009-10), Spanish Super Cup (2009, 2010), Uefa Super Cup (2009), Fifa Club World Cup (2009)
AC Milan: Serie A (2010-11) Italian Super Cup (2011)
PSG: Ligue 1 (2012-13, 2013-14, 2014-15, 2015-16), French Cup (2015, 2016), League Cup (2014, 2015, 2016) French Super Cup (2013, 2014, 2015)
Man Utd: Community Shield (2016), League Cup (2016-17), Europa League (2016-17)
Credit : BBC.COM