01 - Heat olive oil in a large pot over medium heat. Add onion, carrots, and celery. Sauté for 5 minutes until softened.
02 - Stir in garlic and ginger; cook for 1 minute until fragrant.
03 - Add curry powder, cumin, coriander, turmeric, and cayenne. Stir for 1 minute to toast the spices and release their flavors.
04 - Add cauliflower florets, lentils, diced tomatoes with juices, and vegetable broth. Mix well to incorporate all ingredients.
05 - Bring to a boil, then reduce heat to a simmer. Cover and cook for 25-30 minutes, or until lentils and cauliflower are tender.
06 - Season with salt and pepper to taste, adjusting as needed.
07 - For a creamier texture, mash some of the soup with a potato masher or blend partially with an immersion blender.
08 - Ladle into bowls, garnish with chopped cilantro and a squeeze of lemon juice if desired. Serve hot.