Victor Osimhen's 14th league goal of the season gave Napoli an early advantage
Giovanni Simeone's late goal helped Napoli to a narrow win over Roma and saw them open up a 13-point gap at the top of Serie A.
Victor Osimhen's volley gave Luciano Spalletti's side an early lead but Roma levelled through Stephan El Shaarawy.
However the hosts, chasing a first Scudetto since 1990 and the days of Diego Maradona, pressed for a winner.
And Simeone's turn away from Chris Smalling and effort into the top corner proved decisive.
Napoli now have 53 points from 20 games, with Inter Milan a distant second on 40 points after their 2-1 win at Cremonese on Saturday. Roma are sixth in the table, one point off the Champions League places.
Meanwhile, defending champions AC Milan slipped out of the top four after suffering a 5-2 thrashing at home to struggling Sassuolo.
Stefano Pioli's side are on a four-match winless run in the Italian top flight and have conceded 12 goals in their last three matches in all competitions.
Domenico Berardi, Gregoire Defrel, Davide Frattesi, Armand Lauriente and Matheus Henrique all scored for the visitors as the Rossoneri conceded five at the San Siro for the first time in Serie A since April 1997, with Olivier Giroud and Divock Origi replying for the hosts.
"We have to react, we're probably not going to win the title again but we have to fight to qualify for the Champions League," Pioli told Sky Italia.
Juventus fell to a 2-0 home defeat to Monza to leave them languishing in 13th, while Lazio played out a 1-1 draw with Fiorentina to move up to third in the table.
- Line-upsMatch StatsLive Text
1Meret22Di Lorenzo13Rrahmani3Kim Min-jae6Mário Rui99Zambo Anguissa68Lobotka20Zielinski11Lozano9Osimhen77Kvaratskhelia
- 1Meret22Di Lorenzo13Rrahmani3Kim Min-jae6Mário RuiSubstituted forOliveraat 69'minutes99Zambo Anguissa68Lobotka20ZielinskiSubstituted forNdombéléat 90+1'minutes11LozanoSubstituted forSimeoneat 76'minutes9OsimhenBooked at 68minsSubstituted forRaspadoriat 76'minutes77KvaratskheliaSubstituted forElmasat 68'minutes
- 4Demme5Nunes Jesus7Elmas12Marfella17Olivera18Simeone19Bereszynski21Politano23Zerbin31Zedadka55Østigård70Gaetano81Raspadori91Ndombélé95Gollini
1Rui Patrício23Mancini6Smalling3Ibañez da Silva59Zalewski4Cristante8Matic37Spinazzola21Dybala7Pellegrini9Abraham
- 1Rui Patrício23Mancini6Smalling3Ibañez da Silva59Zalewski4CristanteSubstituted forVolpatoat 89'minutes8MaticSubstituted forTahirovicat 83'minutes37SpinazzolaSubstituted forEl Shaarawyat 45'minutesBooked at 70mins21DybalaBooked at 33mins7PellegriniSubstituted forBoveat 83'minutes9AbrahamSubstituted forBelottiat 73'minutes
- 11Belotti17Viña18Solbakken20Camara24Kumbulla52Bove62Volpato63Boer68Tahirovic92El Shaarawy99Svilar
Referee:Daniele OrsatoMatch StatsHome TeamNapoliAway TeamRomaPossessionHome57%Away43%ShotsHome11Away11Shots on TargetHome6Away3CornersHome3Away8FoulsHome8Away14Live Text Post update
Match ends, Napoli 2, Roma 1.
Second Half ends, Napoli 2, Roma 1.
Attempt blocked. Gianluca Mancini (Roma) header from the centre of the box is blocked. Assisted by Stephan El Shaarawy with a cross.
Corner, Roma. Conceded by Stanislav Lobotka.
Foul by Giovanni Simeone (Napoli).
Ibañez (Roma) wins a free kick on the left wing.
Foul by Eljif Elmas (Napoli).
Gianluca Mancini (Roma) wins a free kick in the defensive half.
Substitution, Napoli. Tanguy Ndombélé replaces Piotr Zielinski.
Corner, Napoli. Conceded by Ibañez.
Attempt saved. Giacomo Raspadori (Napoli) left footed shot from the left side of the box is saved in the bottom left corner. Assisted by Mathías Olivera.
Giovanni Di Lorenzo (Napoli) wins a free kick in the defensive half.
Foul by Stephan El Shaarawy (Roma).
Substitution, Roma. Cristian Volpato replaces Bryan Cristante.
Attempt missed. Edoardo Bove (Roma) right footed shot from the centre of the box is high and wide to the right. Assisted by Andrea Belotti with a headed pass.
Goal! Napoli 2, Roma 1. Giovanni Simeone (Napoli) left footed shot from the centre of the box to the top right corner. Assisted by Piotr Zielinski.
Substitution, Roma. Benjamin Tahirovic replaces Nemanja Matic.
Substitution, Roma. Edoardo Bove replaces Lorenzo Pellegrini.
Piotr Zielinski (Napoli) wins a free kick on the right wing.
Foul by Lorenzo Pellegrini (Roma).
Page 1 of 6rewindpreviousNavigate to the next pagenextNavigate to the last pageforward
- Are you in need of a good night's sleep? Here are nine amazing facts to help you improve the quality of your sleep'I hated his comedy': Steve Coogan chats to Nihal Arthanayake about British humour and cancel culture