United have agreed to pay £12.8m for the 36-year-old, with the deal subject to personal terms, a visa and a medical.
Ronaldo scored 118 goals in 292 games in his first spell at Old Trafford before leaving for Real Madrid in 2009.
“Everyone at the club looks forward to welcoming Cristiano back to Manchester,” said a United statement.
United’s announcement came after a dramatic 24 hours. Neighbours Manchester City had looked to be one of the favourites to land the forward and some reports suggested personal terms had already been agreed between the two.
However, Ronaldo has opted to return to United where he spent six years and won three Premier League titles, one Champions League, two League Cups and one FA Cup – as well as the Fifa Club World Cup and Community Shield – under Sir Alex Ferguson.
Initially, Ronaldo thought there was no chance of a deal with his former club, but United have decided to make it happen, while City have missed out on another striker option after main target Harry Kane committed to Tottenham.
Speaking before City face Arsenal in the Premier League on Saturday, manager Pep Guardiola said: “Cristiano is a Juventus player. I cannot add anything else.
“In these three or four days left until the transfer window shuts, anything can happen but, in my view, there are few players – Cristiano Ronaldo included, Messi is another – they decide where they are going to play.
“Right now, my feeling is I am more than delighted with the squad we have and we will stay the same.”
United only appeared to become an option when manager Ole Gunnar Solskjaer held a news conference on Friday afternoon and said their former star “knows that we’re here”.
Solskjaer added United’s Portugal midfielder Bruno Fernandes has been talking to his compatriot Ronaldo.
A few hours later the club announced they had reached an agreement for what will be their third major signing of the summer transfer window following the arrivals of Jadon Sancho and Raphael Varane. (Courtesy BBC)