AC Milan will face title-holders Juventus in the Coppa Italia final after beating Lazio 5-4 in a tense penalty kicks shootout on Wednesday.
The shootout followed three and a half hours of goalless football between the two sides.
Earlier, Juventus scored from a disputed penalty kick to beat Atalanta 1-0 and reach the final for the fourth season in a row, winning their two-leg semi-final 2-0 on aggregate.
Having played to a 0-0 draw in their first leg at the San Siro one month ago, Lazio and AC Milan produced a repeat performance in Wednesday’s return.
This was in spite of creating plenty of goal scoring chances at a freezing Stadio Olimpico.
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 kick 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.
Alessio Romagnoli then converted for Milan.
Atalanta, trailing 0-1 from the first leg, put up a brave fight in Turin but were finally undone in the 75th minute.
The ball was chipped into the Atalanta area where Juve midfielder Blaise Matuidi went tumbling to the ground as he and Atalanta defender Gianluca Mancini leapt for the ball.
However, contact looked to be either minimal or non-existent.
Miralem Pjanic ignored the Atalanta protests to score.
Juventus enjoyed a let-off minutes earlier when Atalanta captain Alejandro Gomez was sent clear of their defence.
He tried to chip the ball past Gianluigi Buffon as the goalkeeper rushed out of his area, but saw his effort hit the post from 40 metres.
It was Atalanta’s second Cup exit in less than one week after they were knocked out of the Europa League by Borussia Dortmund the previous Thursday.
“We’re convinced it wasn’t a penalty kick. It’s a shame, but Juventus deserved to win,” said Atalanta coach Gian Piero Gasperini.