Cook onion in olive oil until soft and translucent. Add garlic and cook two minutes. Add curry powder, cayenne pepper and coriander and sautee for an additional two minutes. Add olive oil if it becomes dry.
Add chicken broth and scrape bottom very well with wooden spoon. Add tomato puree, crushed plum tomatoes, salt and pepper. Simmer for 30 minutes. Stir often and scrape bottom every few minutes. Do not boil.
Combine peanut butter and 1/2 of soup in blender or food processor and puree, adding small quantities of broth as necessary if too thick. When smooth, add puree to remaining soup and stir well. If soup seems thick, add broth to taste.
Drain chicken and add to soup. Add scallions to soup, cook 5 more minutes and serve.
Sprinkle chopped peanuts and cilantro for garnish.