Heat the oil in a large Dutch oven over medium heat. Add the onion and garlic. Cook, stirring occasionally, until softened and translucent, about 5 minutes.
Add the ginger, coriander, chili powder, cumin, curry powder, turmeric, and red pepper flakes. Cook, stirring constantly, until fragrant, about 1 minute.
Add the tomatoes with their juices, the carrots, sweet potatoes, and chicken stock. Scrape up any browned bits from the bottom of the pot with a wooden spoon. Bring to a boil, then reduce the heat and simmer gently for about 45 minutes, or until the sweet potatoes are very tender.
Reduce heat to low. Stir in the peanut butter, coconut milk, sesame oil, brown sugar, soy sauce, and sherry until the peanut butter has melted and the broth is smooth.
Remove from heat. Using an immersion blender, purée the soup in the pot until completely smooth—or carefully blend in batches in a countertop blender, then return to the pot.
Stir in the shredded chicken, lime juice, and cilantro. Simmer over low heat until heated through, 2 to 3 minutes.
Taste and adjust seasoning with additional lime juice, soy sauce, or brown sugar as needed. Ladle into bowls and garnish with chopped peanuts and more cilantro, if desired. Serve hot.