Huntelaar joined Real from Ajax in January 2009, but failed to make an impact at the Spanish giants.
AC Milan chief officer Adriano Galliani told Sky Italia: “The agreement has already been closed with Real Madrid. The Dutch player will be in Milan this evening (Thursday).”
Tottenham, Arsenal and Stuttgart were all reported to be interested in the striker.