Milan will face holders Juventus in the Coppa Italia final after beating Lazio 5-4 in a tense penalty shootout on Wednesday which followed three and a half hours of goalless football between the two sides.
Having played to a 0-0 draw in their first leg at the San Siro one month ago, Lazio and Milan produced a repeat performance in Wednesday's return at a freezing Stadio Olimpico despite creating plenty of chances.
Nikola Kalinic should have won it for Milan two minutes from the end of extra-time but fired over the crossbar from 12 metres.
Ciro Immobile scored the opening penalty for Lazio but the next four spot kicks were all saved by the respective goalkeepers, Thomas Strakosha for the hosts and Gianluigi Donnarumma for Milan.
That was followed by a sequence of converted penalties which took the shootout to sudden death until Luiz Felipe fired over the crossbar from Lazio's seventh attempt and Alessio Romagnoli converted for Milan.