Dice the onion, then peel and mince the garlic and ginger. Mince the chili finely, removing the seeds if you want to reduce the spice level. Dice the celery and carrots into small pieces to help them cook faster.
Heat the olive oil in a medium to large heavy-bottomed pot over medium heat. Add the onion and garlic, stirring regularly for 7-10 minutes until they soften and begin to caramelize. They should turn slightly golden without fully browning, as the carrots will provide natural sweetness to the soup.
Add the minced chili, ginger, coriander, turmeric, and garam masala to the pot, stirring for about a minute to release the spices' flavors. Next, add the diced celery, carrots, and vegetable broth, stirring to loosen any bits that might be stuck to the pot’s bottom. Bring the mixture to a simmer.
Allow the soup to simmer for 30-50 minutes, or until the carrots and celery are very soft. Cooking time may vary depending on how finely the vegetables were diced.
Once cooked, remove the pot from heat. If you have an immersion blender, blend the soup directly in the pot until it’s smooth. If you’re using a standard blender, let the soup cool slightly, then blend it in batches until smooth. Return the blended soup to the pot and reheat gently over low heat.
Stir in the coconut milk, tasting and adding salt as needed. Serve the soup garnished with fresh cilantro and a drizzle of coconut milk. For extra brightness, add a squeeze of fresh lime juice. Pair with crusty bread or garlic naan for a complete meal.
This soup keeps well, and the flavors continue to develop, making it even better the next day. It also freezes well in portion-sized containers for easy reheating.