The Lazio substitute struck with Lazio's first and only corner of the game to give his side a 3-2 aggregate victory and a place in their seventh Coppa final in May.
They will play the winners of Inter Milan and AS Roma who contest their semi-final second leg in April. Lazio also knocked Juventus out at the same stage of the competition back in 2009 and ended up winning the trophy.
The first leg ended 1-1 in Turin last Tuesday. The Bianconeri knew they had to score to have any hope of going through to the Final. Alvaro Gonzalez opened the scoring on the night to add to Lazio's crucial away goal, handing them a 2-1 aggregate lead, before all the late drama unfolded.
Miroslav Klose returned from a thigh injury, while Andre Dias was back after sitting out a three game Coppa ban. Andrea Pirlo started from the Juventus bench after missing three games with a calf problem.
Juventus started the more positive of the two sides and had a strong case for a penalty turned down after eight minutes. Mirko Vucinic beat Federico Marchetti to the ball and went over the shotstopper in the area. Unlike Serie A, there are no goalline referees deployed for the Coppa. The decision rested with the referee and linesman, who both signalled for a corner. Minutes later, Sebastian Giovinco sent a direct free kick just over the bar from a tight angle.
Lazio sacrificed their wide players in order to frustrate and defend. The visitors enjoyed the lion's share of possession and wasted a lot of corners.
Marchetti denied Giovinco a simple tap in halfway through the first half after smothering Mauricio Isla's dangerous cross. Hernanes blasted over Lazio's first noteworthy chance on 26 minutes after good link up play with Stefan Radu.
Isla felled Klose in the box as the German controlled a Hernanes ball, but nothing was given. At the other end, Lazio threw bodies in the way to block shots from Vucinic and Vidal
Juventus finally opened up Lazio's resolute backline and wasted two good chances in first half stoppage time. Isla fed Vucinic, who drove into the box and stung Marchetti's palms. Giovinco then turned Michael Ciani, only to send a weak shot into Marchetti's gloves.
Lazio scored out of nowhere eight minutes into the second half. Cristian Ledesma's far post cross was met with a diving header by Gonzalez. Marco Storari had been a mere spectator up until this point, but all he could do was watch the ball zip past him into the bottom corner of the net.
There was concern for Hernanes after he came off worse following a clash of heads with Luca Marrone. The Brazilian went down with a nasty gash to the side of his head and had to be stretchered off with a suspected concussion.
Giovinco had two failed penalty attempts in quick succession. He went down under a Ciani shirt pull and Dias slide, but both times was told to get back to his feet.
Antonio Conte made his three changes and changed to a front trident. Lazio seized on an Andrea Barzagli stray pass to go on the counter attack. Floccari tripped just as he looked set to pull the trigger and a relieved Barzagli cleared the danger.
Juventus were running out of ideas as Fabio Quagliarella shot well wide from distance. There seemed no way past the resolute Sky Blue defence as six minutes of injury time were signalled. Then came Lazio's first defensive mistake.
A poor header backwards from Giuseppe Biava was swept into the net by Vidal from ten yards to dampen the mood inside the Stadio Olimpico. While fans and the two coaches were planning for an extra half hour of playing time, the landscape changed once more. Floccari rose highest to nod in Stefano Mauri's cross to send the home fans into a frenzy.
The drama wasn't over. Five minutes into stoppages, Giovinco was denied in the box by Marchetti and Claudio Marchisio somehow tapped the rebound wide from the back post. It was a costly miss, especially as it would have taken Juventus through under the away goals rule. Vidal still found time to glance one final header wide from a Pirlo set piece that even Storari went up for. Whoever said that Italian football was boring.
Lazio: Marchetti; Konko, Biava, Ciani, Dias; Radu, Hernanes, (Lulic 62) Ledesma, Mauri, Gonzalez; (Cana 86) Klose (Floccari 70)
Juventus: Storari; Barzagli, Marrone, (Marchisio 70) Bonucci; Isla, Giaccherini, (Quagliarella 76) Padoin, (Pirlo 68) Peluso, Vidal; Vucinic, Giovinco
Goals: Gonzalez 53 (L) Vidal 90+2 (J) Floccari 90+3 (L)