Melt the butter in a large, saucepan over moderate heat. Add celery and onion and sauté for 8 to 10 min or until limp and golden. Blend in the curry powder, cumin, coriander, turmeric, and pepper, then cook and stir 1 min more.
Add the peanut butter, then gradually mix in the stock. Bring to a boil, adjust heat to a simmer. Cook uncovered, stirring now and then, for 20 min. Add pecans and cook, stirring occasionally, for 2 min more. Remove the soup from the heat and cool.
Purée the soup in batches in a blender at high speed. It will still be lumpy.
Return the soup to the pan, add the cream and salt, set over moderate heat, and bring to a simmer. Taste and adjust seasonings.
Sprinkle each serving with peanuts.
*To make vegan, replace butter with vegan butter or oil and replace cream with cashew cream or canned coconut milk