Heat oil in a medium Dutch oven or saucepan over medium heat. Add chopped ginger, garlic, shallot and carrots. Sprinkle a dash of the salt over the vegetables and cook until softened, stirring often, about 7 minutes.
Add curry powder and cook, stirring continuously, until fragrant, about 1 minute. Add the rest of the salt, ½ cup of the coconut milk, the water and lentils, and bring to a boil. Reduce heat, cover and simmer until lentils and carrots are tender, about 8 to 10 minutes.
Pass 2 cups of soup through a fine sieve into a bowl to separate the solids from the liquids. Reserve the solids for later and return the strained liquid to the pot of soup.
Let the soup cool slightly, then puree the soup in a blender until smooth. You may need to do this in batches as you do not want to fill the blender jar more than halfway. If necessary, reheat soup after blending, then stir in the reserved solids.
Reserve some cherries for garnish and stir the remaining into the soup, along with the cilantro stems. Ladle soup into 4 bowls and swirl in remaining ¼ cup coconut milk (1 tablespoon coconut milk per bowl). Garnish with cherries and cilantro leaves. This soup is great with a side of lightly toasted whole wheat naan.