Dries Mertens became Napoli's record scorer after his goal edged out Inter Milan and sent the five-time winners into the Coppa Italia final.
Leading 1-0 from the first leg, Napoli's advantage was quickly wiped out when Christian Eriksen scored direct from a corner.
Belgium forward Mertens made it 2-1 on aggregate after an assist from Lorenzo Insigne following a counter-attack.
It was his 122nd goal for Napoli, one more than Slovakia's Marek Hamsik.
Mertens, who is nicknamed 'Ciro' by Napoli fans to reflect his longstanding relationship with the club and city of Naples, is now seven goals clear of club legend Diego Maradona,
Napoli, who last won the competition in 2014, will meet Juventus in the final without any fans present on Wednesday (20:00 BST) at the Stadio Olimpico in Rome.
Fabian Ruiz's goal had given Napoli a semi-final first-leg lead in front of almost 60,000 fans in Milan on 12 February.
There were no supporters present as Napoli finished off the job - despite conceding after two minutes.
The visitors were level on aggregate when former Tottenham midfielder Eriksen bent a corner straight into the back of the net, eluding keeper David Ospina.
Inter twice went close to extending their advantage but former Arsenal keeper Ospina, who was excellent after his error for the opener, produced fine saves to deny Romelu Lukaku and then Antonio Candreva.
Shortly before half-time Mertens made club history and handed back control to Napoli after the former PSV Eindhoven player's composed finish from Ospina's long clearance.
Insigne went close to winning it on the night for Napoli but sent his shot just wide of the post before Ospina made a superb late save to keep out Eriksen and substitute Victor Moses put the follow-up over the bar.
- 25OspinaBooked at 79mins
- 22Di Lorenzo
- 12ElmasSubstituted forRuizat 65'minutes
- 20ZielinskiSubstituted forAllanat 85'minutes
- 21PolitanoSubstituted forCallejónat 65'minutes
- 14MertensSubstituted forMilikat 75'minutes
- 24InsigneSubstituted forYounesat 85'minutes
- 6Mário Rui
- 6de VrijBooked at 38minsSubstituted forRanocchiaat 88'minutes
- 87CandrevaSubstituted forMosesat 72'minutes
- 15YoungBooked at 12minsSubstituted forBiraghiat 72'minutes
- 24EriksenSubstituted forSensiat 88'minutes
- 10MartínezSubstituted forSánchezat 72'minutes
- Gianluca Rocchi
- Shots on Target