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.