AC Milan held Napoli to a draw at the Stadio San Paolo, marking only the third time the Naples club had dropped points at home.
The Rossoneri, sporting the green alternate shirt, started the game on the back foot, and had Cristian Zapata and Riccardo Montolivo to thank as they cleared early crosses.
In the seventh minute M’Baye Niang dribbled past two Napoli men to take the ball through towards goal, though Koulibaly raced back and tackled well.
Two minutes later Lorenzo Insigne went down under a Honda challenge, but the referee waved play on, with the Japan international fairly fortunate upon replay.
Just before the 20 minute mark Zapata made two crucial challenges to deny Gonzalo Higuain; the first an outstretched leg to block an arial ball in behind, the second a wonderfully timed tackle.
A succession of chances follow for the hosts just after the half hour point, with Higuain having a shot well stopped by Alex, Callejon shooting straight at Donnarumma and Callejon stabbing wide.
Napoli did then take the lead in the 39th minute, when a curling effort from distance courtesy of Lorenzo Insigne deflected, sending the ball goalwards and wrong-footing Donnarumma, creeping in the far right corner.
Many would have considered that game over given the home side’s dominance, but Milan levelled before the break through Bonaventura.
Keisuke Honda found rare space to cross from the right, and his inswinging ball clipped the head of Koulibaly, before finding Bonaventura at the far post who bundled home at the first attempt.
It was a lessons learned for Napoli who had switched off completely after scoring, and despite having almost 70% first half possession, they headed in on level terms.
The early stages of the second half consisted mainly of crosses from the hosts and balls in behind of little quality, meaning they didn’t have a great chance until the 63rd minute.
Callejon found space to cross on the right and was inches away from finding Higuain, yet Donnarumma leaped and flapped clear.
Four minutes later, newly introduced Dries Mertens gave Milan their biggest scare yet, sweeping an effort goal bound and somehow hitting the post before Bacca could clear.
Luca Banti sent Sarri to the stands with 15 minutes left in what was a strange game for the referee, who seemed to be inconsistent in his decision making and allowing all but a couple of corners to enter the box without a foul given.
The Serie A’s top scorer came close with eight minutes left as he struck a Ghoulam cross towards the net, but Zapata blocked well.
Milan had one of their few chances in the closing stages, with Menez finding fellow Frenchman Niang, who shot wide with the angle against him.
One last chance in the second minute of added time from El Kaddouri proved that it wasn’t Napoli’s night. He fired straight at Gigio from close range following a flick from fellow sub Gabbiadini.
So, il Diavolo walked away with a well earned point against a team with so much attacking threat. Mentions must go to Zapata and Abate, who had their critics heading into the season but have drastically improved as defensive options.
Napoli missed the chance to go top, instead moving one point behind Juventus, while Milan stay sixth but move within four points of Inter in fifth.