Having dropped points for the first time since early December, Napoli can now be usurped by Juventus at the top of the table should the defending champions win their game in hand against Atalanta BC.
Insigne found himself in the right place to turn home a Mario Rui pass inside the box, but a minute later Roma were level as Cengiz Under's shot deflected off Rui and found its way past a stranded Pepe Reina.
The third goal of the evening went the fifth-placed visitors' way, though, as Edin Dzeko scored the first of his two with a looping header into the far corner.
Alisson was again required to keep out Insigne in the second half and Jose Callejon then struck the frame of the goal from a corner.
Former Chelsea target Dzeko capitalised on Napoli's all-out attack, however, by cutting inside and curling the ball into the bottom corner from the edge of the area.
Alisson and Insigne's personal battle would continue - the latter forcing a double save out of the opposition keeper - but Roma soon had a fourth to celebrate when Perotti converted from eight yards following an error from the heavily-involved Rui.
Napoli were given just a sliver of hope late on when Dries Mertens pulled one back with a nicely-struck shot from 20 yards, although it would ultimately count for little as Roma easily held on for a huge win.
NAPOLI (4-3-3): Reina; Hysaj, Albiol, Koulibaly, Mario Rui; Allan, Jorginho (Milik 75'), Zielinski (Hamsik 65'); Callejon, Mertens, Insigne
ROMA (4-3-3): Alisson; Florenzi, Manolas, Fazio, Kolarov; Nainggolan, De Rossi (El Shaarawy 87'), Strootman; Under (Gerson 71'), Dzeko, Perotti (Pellegrini 80')