In a large heavy bottom pot, melt butter over medium heat. Add the onion, celery, and carrots and saute until soft, about 8 minutes.
Add the garlic, ginger, curry, cumin, turmeric, and cayenne, and toast until fragrant, about 2 minutes. Quickly add the chicken broth, coconut milk, and salt, and stir everything together.
Add the chicken, and bring your soup to a boil. Reduce to a simmer, and place a lid on your pot. Allow chicken to cook through fully, should take between 7-10 minutes. Once cooked remove chicken to a cutting board, and shred once cool enough to handle.
Add yogurt to the soup, and stir in to combine. Simmer the soup for another 10 minutes so the flavors can marry. Then add the chicken back to the soup. Top bowls with freshly chopped cilantro and additional yogurt.