In a large pot, heat the vegetable oil over medium heat. Add the chopped onion and cook until soft and translucent, about 5 minutes.
Stir in the minced garlic, ginger, and chopped bell pepper. Cook for another 2 minutes until fragrant.
Add the blended tomatoes, paprika, cumin, coriander, and chili powder (if using). Cook for about 10 minutes, stirring occasionally, until the tomato mixture thickens and the oil begins to separate from the sauce.
Stir in the chicken or vegetable broth, diced sweet potatoes, carrots, and potatoes. Bring to a boil.
Reduce the heat to low and let the soup simmer for about 20-25 minutes, or until the vegetables are tender.
Stir in the peanut butter until well combined and smooth. If the soup is too thick, add a little more broth or water to reach your desired consistency.
If using cooked chicken or beef, add it to the pot and heat through.
Season with salt and black pepper to taste. Garnish with chopped fresh cilantro.
Enjoy your meal!