The Italian international will sign a four-and-a-half-year deal on a salary of four million euros per season plus bonuses - a pay cut from his yearly earnings at City.
Balotelli, a boyhood Milan fan, first broke through at rivals Inter Milan and is returning home for a fee that media reports have claimed to be 20 million euros plus three million more based on his success, after a largely frustrating spell with the English champions.
"Transfer agreement for Balotelli signed with Manchester City. Medicals tomorrow in Milan, then personal terms until 2017," Milan director Umberto Gandini said on Twitter - a statement later confirmed on the club's TV channel.
City manager Roberto Mancini, who gave the player his debut at Inter, had said Balotelli would not be leaving this month but the striker's desire to go back to Italy appears to have been a decisive factor.
Mancini is not expeted to reinvest the proceeds of the transfer in this transfer window.