Heat Oil: In a large pot or Dutch oven, heat the vegetable oil over medium heat.
Sauté Aromatics: Add the diced onion and sauté until it becomes translucent, about 5 minutes. Add the minced garlic and ginger, and cook for an additional 1-2 minutes until fragrant.
Add Vegetables: Stir in the diced sweet potatoes and red bell pepper. Cook for another 5 minutes, stirring occasionally.
Incorporate Liquids and Spices: Add the diced tomatoes (with their juice), coconut milk, vegetable broth, peanut butter, soy sauce, curry powder, ground cumin, ground turmeric, and cayenne pepper (if using). Stir well to combine.
Simmer: Bring the mixture to a boil, then reduce the heat to low. Cover and simmer for 20-25 minutes, or until the sweet potatoes are tender.
Add Chickpeas and Spinach: Stir in the chickpeas and baby spinach. Cook for another 5 minutes until the spinach is wilted and everything is heated through.
Season and Finish: Add lime juice and season with salt and pepper to taste. Adjust seasoning as necessary.
Rest: Remove from heat and let the curry rest for about 5 minutes to allow the flavors to meld.
Serve: Serve the curry hot, garnished with fresh cilantro, over cooked rice or with naan bread on the side.