Heat olive oil in a large pot over medium-high heat. Add onion, garlic, ginger, celery, and carrots and sauté for 10 minutes or until vegetables begin to soften.
Add curry, cumin, chili flakes, and stock and bring to a boil over high heat. Reduce the heat to medium and simmer for 30 minutes, until carrots are tender. Add coconut milk, cilantro, salt, and pepper and heat through.
Using a hand blender, puree the soup in the pot until smooth.
Reheat soup before serving. Ladle into bowls and serve hot.