They can claim a seventh consecutive Scudetto - the Serie A title - on Sunday night with a point at Roma.
"The lads had an extraordinary game and deserved this win," said Juventus boss Massimo Allegri. "We must take nothing away from Milan, who had a good first half. Now we have to ensure the Scudetto mathematically and enjoy this extraordinary season."
It was the 13th Coppa Italia win overall for Juventus, who hold the record number of victories in teh competition since its inception in 1922.
Mehdi Benatia opened the scoring at the Stadio Olimpico in Rome after 56 minutes. He headed in past the Milan goalkeeper Gianluigi Donnarumma from a Miralem Pjanic corner.
Donnarumma then conceded two goals he should have saved - letting Douglas Costa through five minutes later.
After 64 minutes the final was effectively over when the 19-year-old failed to control a Mario Mandzukic header from a corner, allowing Benatia to tap in his second off the rebound.
Nikola Kalinic's own goal 14 minutes from time epitomised the mayhem in Milan's rearguard. "The result does not reflect the performance but you pay for errors," said Milan coach Gennaro Gattuso.
"I think it hurts more that we took 40,000 fans here and gave them a result like this.
"Now we have two games against sides who are in better shape than us and must try to get into the Europa League with better performances than this."