Serie A Wrap: Napoli, Juventus both win, Milan lose again
Jose Callejon gave Napoli the lead after 15 minutes and the advantage was doubled five minutes later by Marek Hamsik.
Lucas Castro did pull a goal back in the 25th minute but an equaliser was not forthcoming as Catania's winless run was extended to five matches.
Napoli have now triumphed in nine out of 11 league games under Rafael Benitez and are above Juventus, who they meet next weekend, on goal difference.
Antonio Conte's side had briefly taken over second spot with a 1-0 win at Parma earlier in the evening.
In a game of few chances, Paul Pogba scored the winner with 13 minutes remaining, tucking home a rebound after Fabio Quagliarella's long-range shot had cannoned off the crossbar.
Like Napoli, Juve were able to celebrate a third successive win as Parma suffered a third defeat in four.
Entrenched in mid-table along with Parma are Milan, who now have just one victory in five league games following a 2-0 home defeat against Fiorentina.
Juan Vargas opened the scoring in the 27th minute with a deflected free-kick, before Borja Valero sealed the visitors' third successive win over Milan at the San Siro with 17 minutes to go, tapping in after Gabriel had parried Joaquin's cross.
The defeat was Milan's fifth in 11 games this season and pressure is mounting on coach Massimiliano Allegri as his side's chances of qualifying for next year's UEFA Champions League fade.