Atalanta had been the better side at Lazio's Stadio Olimpico home, hitting the woodwork either side of half-time in Wednesday's showpiece.
But substitute Milinkovic-Savic broke the deadlock for Lazio, powering home Lucas Leiva's corner, before Joaquin Correa wrapped it up with a second goal in the 90th minute.
Lazio's first Coppa Italia crown since 2013 will go some way towards making up for losing two of the past four finals to Juventus.
Marten de Roon hit the post as Atalanta made a great start, Gian Piero Gasperini's men somehow failing to force the ball home in a subsequent melee.
Simone Inzaghi had seen enough of his side's problems containing Atalanta and sent on Stefan Radu for Bastos amid a flurry of first-half bookings in a bad-tempered opening 45 minutes.
Atalanta - in their first Coppa final since 1996 - continued to make the running with Timothy Castagne recording the game's first shot on target, forcing a low save from Thomas Strakosha after the restart.
And they hit the woodwork again in the 76th minute, Alejandro Gomez finding a pocket of space near the byline but thudding his drive against the outside of the post.
Those fine margins proved key as Milinkovic-Savic struck within three minutes of his arrival. A left-wing corner was curled invitingly into his path and the Serbia midfielder got in front of his marker to nod home a famous goal for Lazio.
And they made sure of their triumph at the death as Correa did brilliantly to round goalkeeper Pierluigi Gollini and squeeze his finish over the line.
What does it mean? Finally - glory for Lazio
In recent years the Coppa Italia has been full of pain for Lazio fans, who watched their side fall short against Juve in both the 2015 and 2017 finals. However, they were finally able to celebrate this year.
Milinkovic-Savic the hero for Lazio
Lazio left Milinkovic-Savic on the bench, the midfielder out of favour having long been linked with a move to one of Europe's elite clubs. But he provided a timely reminder of his game-changing abilities with a goal of priceless importance for his current employers.
Bastos hooked before half-time
Inzaghi's decision to withdraw Bastos before the break was a clear indication of the defender's struggles. He was arguably fortunate not to concede a penalty for handball after appearing to block an effort at goal with an arm.
Atalanta need to bounce back fast as their chase for Champions League football continues at title winners Juventus on Sunday. Lazio, who have guaranteed Europa League qualification, are at home to Bologna the following day.