Prep your base: Chop the onion, mince the garlic, and grate the ginger.
Break the cauliflower into small florets. If using potato, peel and dice it.
Sweat the aromatics: Warm the oil in a large pot over medium heat. Add onion with a pinch of salt and cook until translucent, about 5–7 minutes, stirring often.
Bloom the spices: Stir in garlic, ginger, curry powder, cumin, turmeric, and red pepper flakes.
Cook 45–60 seconds, just until fragrant. Do not let the spices burn.
Add the veg and liquid: Toss in the cauliflower (and potato, if using). Pour in the broth and bring to a gentle boil. Reduce to a simmer and cook 15–20 minutes, until the cauliflower is very tender.
Blend to silky smooth: Stir in the coconut milk.
Use an immersion blender to puree until smooth. For extra-smooth texture, blend in batches in a countertop blender, venting the lid and covering with a towel.
Season and brighten: Add 1–2 tablespoons lime or lemon juice. Taste and adjust salt, pepper, and heat.
If the soup feels too spicy, stir in a teaspoon of maple syrup or a little extra coconut milk.
Finish and garnish: If you like, stir in a handful of spinach until wilted. Ladle into bowls and top with cilantro, toasted coconut, pumpkin seeds, or a swirl of yogurt.