A first half brace from Italy international Lorenzo Insigne and a late strike from Dries Mertens helped the southern side, who ended with 10 men, to their second Cup victory in three years.
Insigne's goals in the 11th and 17th minutes put Fiorentina on the back foot but Juan Vargas brought his side back into the game just before the half hour with a fantastic volley. Mertens then added Napoli's third in injury time.
Vicenzo Montella's side took the game to their rivals in the second half, with Giuseppe Rossi making a first appearance since Jan. 5 as a 69th-minute substitute, but Napoli held on despite Gokhan Inler's 79th minute sending off.
The match had looked in danger of being cancelled as news of the shooting filtered through.
Police said in a statement that the incident did not appear to be linked to broader clashes in the Tor di Quinto area, with rival supporters throwing firecrackers and other objects at each other ahead of the game.
A large section of the Napoli supporters watched the match in almost complete silence in protest.
As organisers and Napoli midfielder Marek Hamsik moved towards the fans to talk with hardcore 'ultra' leaders about whether the game should go ahead, they were pelted with flares and smoke bombs.
Piero Grasso, the president of Italy's Senate who was at the stadium to present the trophy at the end of the match, declared those responsible were "delinquents, not supporters."
"A game of football cannot be turned into a war between rival gangs," he said.
Despite the ugly atmosphere, it was a beautiful goal that opened the scoring with Hamsik bursting away on the break before slipping the ball to Insigne, who curled in his sixth goal of the season off the post.
He had his seventh only five minutes later, this time meeting Gonzalo Higuain's misplaced squared pass first time with a scuffed left foot strike that deflected off Nenad Tomovic and past Fiorentina keeper Noberto Neto.
Fiorentina looked shell-shocked but regrouped and got themselves back into the game in the 28th minute thanks to a superb back-heeled flick on from Josip Ilicic.
Vargas met it with a thumping volley that flew past a motionless Pepe Reina.
The Tuscan side could count themselves unlucky not to go in at the break level after Alberto Aquilani volleyed home Ilicic's perfectly delivered free-kick a minute before halftime, only to see his goal ruled out for the tightest of offside decisions.
Rossi came on to a rousing reception from Fiorentina fans and then, with Inler off, Ilicic squandered a perfect chance to take the final to extra time when he sliced wide after a superb pass from Alessandro Matri.
Mertens made no mistake for Napoli, the Belgian international drilling home a smart left foot finish to send the Napoli fans wild with joy. Some also spilled on to the pitch to celebrate and taunt Fiorentina fans.
- Sports & Recreation
- Dries Mertens
- Giuseppe Rossi
- Marek Hamsik
- Juan Vargas
- Gokhan Inler