Shading Issue with Spikes on Round Mesh

In Blender, I am modelling a simple cartoon (not realistic) character.

This is a sketch from the reference that I drew by myself.

So far I have already modelled the head, nose, and ears.

This round mesh is the hair. It will appear to be solid and not made of hair particles. There are two spikes on one side of the mesh.

Looking at the mesh from the side, one can see some odd shading issues between the spikes and the round surface, such as the faint ring around the larger spike. Is there any way for me to fix these?

For support, this is the original version of the mesh that the one in the other screenshots was subdivided from.

You need more geometry- add an edge loop with Ctrl R between the spikes and the base

Maybe an alternative approuch would be to start from an icosphere…