The controversial striker travelled to the Italian city on Wednesday and has now completed formalities.
It brings to an end a colourful, headline-filled two-and-a-half year spell in England.
Milan also confirmed Balotelli had signed a four-and-a-half year contract and would be presented to the press as a Rossoneri player on Friday evening.
A statement from the Serie A club read: "AC Milan announces that it has acquired from Manchester City Mario Balotelli, who has signed a contract until 30 June 2017."
City and Milan are reported to have agreed a fee of around £19million, rising to £22million for the player.
Balotelli helped City win the FA Cup in 2011 and the Premier League title last year and admitted he would miss the club.
He told City's website, www.mcfc.co.uk: "For sure I will remember my brilliant team-mates, the manager and all the supporters.
"They are the best, they were great with me and I will always have a very special place in my heart for City, it's a great club with a great future.
"I thank them for all of their support of me. Maybe one day we will see each other again."