Lazio beat Juventus 2-1 after a dramatic finish to a pulsating Italian Cup semi-final second leg on Tuesday to seal their place in the final against either Inter Milan or city rivals AS Roma.
With the tie level at 1-1 after last week's first leg in Turin, Lazio took the lead on the night at the Stadio Olimpico when Alvaro Gonzalez headed in a measured Cristian Ledesma cross.
It looked as if that goal would be enough to take Vladimir Petkovic's side through to their first national Cup final since 2009, but then Juve hit back a minute into injury time when Arturo Vidal reacted quickest inside the penalty box to stab the ball home.
For a brief moment extra time loomed, but only until Sergio Floccari got his head to a corner inside a crowded box to put the hosts back in front.
There was almost another twist in a dramatic injury time, as Sebastian Giovinco was denied when left with just goalkeeper Federico Marchetti to beat in the sixth and final minute of time added on.
That ensured that it would be Lazio going through to the final, and not Juve, the reigning Italian champions and current Serie A leaders.
Lazio will have to wait until April 17 to find out who their opponents in the final will be.
Roma beat Inter 2-1 in the first leg of the second semi-final last week, but will now have to wait almost three months before the return at the San Siro.