Milan claimed a stunning victory over Juventus last time out and took the lead through Theo Hernandez in the first half, but goals either side of the interval from Giovanni Di Lorenzo and Dries Mertens put Napoli in control.
After Gianluigi Donnarumma let the second goal slip through his legs, Kessie spared his blushes by converting from the spot in the 73rd minute after Nikola Maksimovic felled substitute Giacomo Bonaventura.
Napoli pushed for a winner after Alexis Saelemaekers picked up two bookings in as many minutes, but Milan avoided a blow to its hopes of European qualification and the difference between the sides remains at two points.
Stefano Pioli's side owed a debt to Donnarumma for stopping it from falling behind in the early exchanges, as he thwarted Mertens before diving on Jose Callejon's scuffed effort from six yards in the 19th minute.
Milan took full advantage by going straight up the other end and taking the lead, Hernandez volleying home at the back post after Ante Rebic showed great awareness to pick him out.
However, Napoli got back on level terms when Donnarumma failed to deal with a whipped free-kick from Lorenzo Insigne and Di Lorenzo stuck the loose ball into the open goal.
Milan started the second half positively but fell behind when Callejon cut the ball back to Mertens, his low drive finding a way through Donnarumma as it squirmed over the line.
Pioli responded by sending on Bonaventura and he won the spot-kick that Kessie coolly converted into the bottom-left corner.
Substitute Saelemaekers chopped down Di Lorenzo and Eljif Elmas in quick succession to leave Milan a man light for the final three minutes of normal time, though the visitors stood firm.