Heat olive oil in a large pot over medium heat. Add onion, celery and garlic. Cook and stir until vegetables begin to soften - about 3 to 4 minutes. Add cauliflower, carrots, gingerroot, curry powder, cumin, coriander, chili powder and cinnamon. Stir until vegetables are coated with spices and cook one more minute.

Add broth, tomatoes with liquid, brown sugar and salt. Bring soup to a boil. Reduce heat to low and simmer, covered, for 15 minutes. Use immersion blender to purée to desired consistency. And lentils, coconut milk and simmer for five more minutes (a bit longer if using de Puy lentils instead of canned.) Add cilantro and mix well. Taste soup and season with salt and pepper if desired

Notes and Tips...

Cauliflower - since this soup ends up being puréed a bit, I don't fuss cutting the cauliflower into cute little florets. Instead I remove the leaves and core, slice it, and once again remove solid sections. (Technique is a bit like that illustrated in this video for cauliflower steaks.)

Chili powder - this is what makes the soup spicy. I am a "spicy" wimp, so I use only 1/2 tsp of the chili powder.

Tomatoes - I buy San Marzano tomatoes and mush the whole tomatoes with my hands - remember, the soup is going to be puréed anyhow.

Lentils - I used 1/2 cup of de Puy lentils - soaked them for a half hour in boiled water, then drained them

Coconut milk - the one I buy corms in a small-ish can and I'm never sure what to do with what's leftover in the can, so I just add the whole can - that is about double what the recipe calls for, but it doesn't seem to matter.

Purée - the original recipe suggests the soup be puréed after the lentils are added, but I prefer to purée first and then add the lentils.