In a large pot or Dutch oven, heat the vegetable oil over medium-high heat.
Add the chicken, beef, or lamb pieces and brown on all sides. Remove the meat and set aside.
In the same pot, add the chopped onion and sauté until translucent, about 5 minutes.
Add the minced garlic and grated ginger, and cook for another minute until fragrant.
Stir in the chopped tomatoes and cook until they begin to soften, about 5 minutes.
Add the tomato paste, ground cumin, ground coriander, cayenne pepper (if using), salt, and black pepper. Cook for another 2 minutes, stirring frequently.
Return the browned meat to the pot.
Stir in the natural peanut butter until well combined.
Pour in the chicken broth or water and bring the mixture to a simmer.
Add the sweet potatoes or yams to the pot.
Reduce the heat to low, cover, and let the stew simmer for about 30-40 minutes, or until the meat and sweet potatoes are tender. Stir occasionally.
If using, stir in the chopped spinach or kale and let it cook for an additional 5 minutes, or until the greens are wilted and tender.
Taste the stew and adjust the seasoning with more salt or pepper if needed.
Enjoy your meal!