Balotelli - who has reportedly already flown to Italy - will have a medical on Wednesday and provided there are no problems he will join AC Milan, the city rivals of the striker's former club Inter.
AC Milan director Umberto Gandini confirmed that the transfer fee has been agreed with Manchester City and once the medical is completed, the striker will sign a contract which keeps him at the club until 2017.
City had also been negotiating with Juventus, but AC Milan have it seems won the bidding after protracted haggling over the size of the fee. Sources in Italy say the deal has been done though City insiders are denying this. The deal, provided it goes through, will bring to an end Balotelli's rollercoaster ride at the Etihad.
Balotelli famously provided the crucial injury-time pass that set up Sergio Aguero for the dramatic Premier League title-winning goal against QPR last May. That memorable afternoon came just five weeks after City boss Roberto Mancini said Balotelli would never play for City again after the striker was sent off at Arsenal.
Lapses in professionalism have been a characteristic of Balotelli's time with the Blues. There have been numerous training ground bust-ups; only recently he had to be separated from his manager after he lunged in on Scott Sinclair.
Mancini has - for the most part - stood by the Italy international, who shone for his country in Euro 2012. This season though he has barely featured, making just two substitute appearances since a dreadful performance against Manchester United at the beginning of December.