Napoli had the best scoring opportunities, Gigi Buffon performing heroics for Juventus, but he was eventually beaten in a penalty shoot-out as Gennaro Gattuso wins the trophy.
The only previous Coppa Italia Final between these teams was in 2012, won 2-0 by Napoli thanks to goals from Edinson Cavani and Marek Hamsik.
David Ospina was suspended, so Alex Meret stepped in, while Mario Rui, Fabian Ruiz and Jose Callejon also came in after the semi-final with Inter. Dries Mertens celebrated signing his new two-year contract this morning. Juve missed Gonzalo Higuain, Giorgio Chiellini, Merih Demiral and Sami Khedira, so Juan Cuadrado replacing Danilo at right-back was the only change from the 0-0 draw with Milan.
It was played behind closed doors at the Stadio Olimpico in Rome, but RAI put a virtual crowd into the stands using computer software.
Cristiano Ronaldo forced the first save out of Meret after five minutes, due to Callejon’s defensive error, then Mario Rui went down in the box after a shoulder-to-shoulder tussle with Alex Sandro.
Lorenzo Insigne’s sensational free kick swerved over the wall and smacked against the top of the near post on 24 minutes, with Gigi Buffon scrambling across.
Meret did well to rush out and smother at the feet of Ronaldo, as he ran on to Dybala’s inspired pass, but Napoli continued to have the better scoring opportunities.
There were three in the space of a minute just before half-time. First Insigne’s curler was acrobatically nodded almost off the line by Alex Sandro, then during the same move Buffon used his legs to block Diego Demme’s run from close range. On the resulting corner, Buffon flew to fingertip another Insigne strike round the post.
On the stroke of half-time, Dybala went down in the box under a Mario Rui challenge, but the referee was right there and confidently waved play on.
Napoli started to take more control after the restart, pressing Juve higher up the field, although Leonardo Bonucci and Matteo Politano had long-range efforts smothered.
Danilo replaced Douglas Costa on 65 minutes, moving Juan Cuadrado into the trident attack. Napoli also made changes and Arkadiusz Milik really should’ve done better when blasting over from 12 yards at the end of a great passing move.
Politano’s header was straight at Buffon and Dybala’s attempt deflected wide in the final minutes, but there was absolute chaos in the Juve box deep into stoppages.
Buffon performed heroics with a save on Nikola Maksimovic’s header from a corner, then managed to fingertip the Eljif Elmas follow-up on to the upright from point-blank range.
It was the last move of the game and the Coppa Italia will have to be decided on penalties. Here too, the Partenopei proved far more effective and dominated the shoot-out.
Dybala saw his effort saved first up by Meret, then Danilo blasted over after a stuttering run-up, until Arkadiusz Milik converted the decisive kick to send Napoli players wild. They celebrated by flinging coach Gennaro Gattuso into the air.
Napoli 0-0 Juventus (4-2 on pens)
Penalties: Dybala (J, saved), Insigne (N, goal), Danilo (J, missed), Politano (N, scored), Bonucci (J, scored), Maksimovic (N, scored), Ramsey (J, scored), Milik (N, scored)
Napoli: Meret; Di Lorenzo, Maksimovic, Koulibaly, Mario Rui (Hysaj 80); Fabian Ruiz (Allan 80), Demme, Zielinski (Elmas 87); Callejon (Politano 66), Mertens (Milik 66), Insigne
Juventus: Buffon; Cuadrado (Ramsey 84), De Ligt, Bonucci, Alex Sandro; Bentancur, Pjanic (Bernardeschi 73), Matuidi; Douglas Costa (Danilo 65), Dybala, Cristiano Ronaldo