Step 1Rinse the lentils and place in a medium, heavy-bottomed pot. Add the carrot, onion, garlic, thyme, olive oil, salt and water, and bring to a boil. Reduce the heat to a very gentle simmer, skim any scum floating on top and loosely cover. Continue to cook until the lentils are tender, 20 to 25 minutes. Remove from heat and pull out the carrot, onion, garlic and thyme. Strain the lentils, reserving 4 cups of the lentil stock and 2 cups of the cooked lentils (any leftover stock and lentils can be used for another purpose). If you are short the 4 cups stock, add enough water to make 4 cups.
Step 1Heat the oven to 450 degrees. Take 2 cups of the prettiest cauliflower florets and toss with the diced carrot in 3 tablespoons oil and one-half teaspoon salt. Spread the vegetables onto a rimmed baking sheet and roast until tender, 8 to 12 minutes. Remove and set aside. This will be added at the very end of the recipe.
Step 2Toss the remaining cauliflower with 2 tablespoons oil and one-half teaspoon salt. Spread out onto a rimmed baking sheet and roast until tender, 8 to 12 minutes; use this for the soup.
Step 3In a medium, heavy-bottomed pot, heat 3 tablespoons oil over medium-high heat until hot. Add the onions and sauté until translucent, 8 to 10 minutes. Stir in the cauliflower you roasted for the soup, the potatoes, curry powder, turmeric, cayenne and black pepper, along with the lentil stock and water. Bring to a boil, then reduce to a gentle simmer, loosely cover, and continue to cook until the potatoes are tender, about 12 minutes. Stir in the coconut milk. Increase the heat and bring the soup to a boil, then remove from heat.
Step 4Cool the soup slightly, then purée until smooth. Add the agave nectar and 1 teaspoon salt. Stir in the cooked lentils, along with the roasted cauliflower and carrots. Gently reheat, then taste, and adjust the seasonings and flavorings as desired. This makes about 3 quarts of soup.