Heat oil in a large, heavy bottomed soup pot. Add onions and cook until translucent. Add ginger, garlic and spices and cook over medium heat until fragrant. Add bell pepper, tomatoes and yams and stir to combine. Cook for 5-10 minutes, stirring frequently to ensure to spices don't burn.
Add stock to the soup pot, bring to a boil and then reduce heat to a simmer. Cook until yams are tender, 10-15 minutes, depending on the size of your yam chunks.
Add peanut butter and pineapple, reserving the pineapple juice in the can. Simmer for an additional 20 minutes.
Puree the soup until smooth using either an immersion blender or a counter-top blender (you will have to blend it in batches using a counter-top blender). Add pineapple juice and lime juice and stir to combine.
Serve with additional lime wedges, hot sauce, fresh cilantro and a sprinkle of chopped peanuts.
Notes
From: Port and Fin A note on yams vs. sweet potatoes: A yam is a softer sweet potato with copper skin and a deep orange flesh, while a sweet potato is firmer with golden skin and lighter (sometimes white speckled) flesh. In the US, most stores don’t properly distinguish between the two or will label sweet potatoes as “yams.” (I usually having trouble finding anything other than sweet potatoes at my local stores.)If you can find yams in your grocery store, use those! If you can’t, sweet potatoes are a fine substitute. The soup will still turn out to be vibrant and flavorful.