Mauro Icardi's last-gasp penalty in extra-time forced a shoot-out, but Radja Nainggolan missed as Lazio eliminated Inter Milan to reach the Coppa Italia semi-finals on Thursday.
Lucas Leiva converted the decisive penalty for a 5-4 win at the San Siro after the match had finished 1-1 following extra time.
Ciro Immobile had broken the deadlock after 108 minutes when he blasted in following an exchange with Felipe Caicedo.
But there was more drama with Inter awarded a contested penalty after 125 minutes when Sergej Milinkovic-Savic fouled Danilo D'Ambrosio.
Inter skipper Icardi cooly slotted in with the last kick of extra-time to revive home hopes.
But Lazio goalkeeper Thomas Strakosha saved Lautaro Martinez's effort and got his fingers to Nainggolan's kick which went high before Leiva scored the winner.
"We deserved to go through and should have won earlier, but it was almost snatched away from us," said Immobile.
"Now we hope to get revenge on Milan."
Lazio lost the Coppa Italia semi-final to Milan on penalties last season.
The victory replicates Lazio's 2-1 victory over Inter Milan in the Coppa Italia quarter-finals exactly two years ago.
"We were a little awkward at the start but as the game came alive we were in the game until the end. Then we got a bit frantic which doesn't work against Lazio," said Inter coach Luciano Spalletti.
Lazio will play AC Milan over two legs in the semi-finals, after Gennaro Gattuso's side beat Napoli 2-0 in the San Siro midweek.
The second semi-final will see Fiorentina, who crushed Roma 7-1, take on Atalanta, 3-0 winners over four-time defending champions Juventus.
The semi-finals will be played over two legs on February 27 and April 24.