Leonardo Bonucci has been a regular for Juventus since signing for the Italian champions in 2010, and he looked set to stay in Turin after turning down offers from big clubs in the past.
However, as AC Milan continue their summer spending spree, the Italy international will sign a five-year contract worth around £110,000 a week at San Siro.
Juventus will receive £35.2 million plus £1.7 million in add-ons for the 30-year-old, who has scored 18 goals in 300 appearances for Juventus.