Milan signed 30-year-old Higuain on a one-year loan deal worth a reported 18 million euros ($21 million) that gives them the option to buy the striker next summer for a further 36 million euros.
Italy centre-back Bonucci has been swapped for promising Mattia Caldara just weeks after Caldara arrived at Juve following his transfer from Atalanta, which was agreed in January 2017.
Higuain left Juventus, where he won two Serie A titles and scored 40 goals in 76 league appearances, following the shock signing of Cristiano Ronaldo from Real Madrid that made the Argentine surplus to requirements.
Italian media reported that Higuain's transfer had been structured to allow Milan to comply with UEFA's Financial Fair Play regulations, which they fell foul of last season.
Last season, Milan scored only 56 goals in Serie A, a figure which put them at a serious disadvantage compared to major rivals Juventus, Napoli and Roma as well as bitter city rivals Inter Milan who all claimed Champions League places.
"A new adventure begins," said Higuain after undergoing his medical.
The Argentinian's move opened the door for Bonucci to return to Turin, where the defender won six league titles and reached two Champions League finals.
The 31-year-old Bonucci returns to Juve after just one season with Milan, who could only finish sixth last season and missed the Champions League despite spending over 200 million euros ($233 million) on new players last summer.
A reported 42 million euros of that were spent on Bonucci, who was made captain but fell short of the imperious form he showed at Juve.
"Turin and Juventus are home for me. It's difficult to imagine that this has happened," said Bonucci. "I am delighted and excited to be back."
Milan are trying to bounce back after a troubled spell following the sale of the club to Chinese owners in April last year, but poor performances on the pitch were compounded in recent months by fears over their financial survival.
UEFA booted them out of next season's Europa League for violating the financial regulations, only for the ban to be overturned by the Court of Arbitration for Sport on July 20 following hedge fund Elliott Management's takeover earlier in the month.
The American firm took control after the Chinese consortium led by Li Yonghong that ran Milan, long rumoured to be struggling financially, failed to repay 32 million euros lent by Elliott.
Elliot has pledged to inject 50 million euros to bring financial stability to the club.