In a large soup pot, heat the oil over medium-high heat. Cook the onion for about 5 minutes, until translucent and fragrant.
Add the ginger, carrots, diced tomatoes, kidney beans, broth, non-dairy milk, and pumpkin puree to the pot. Bring to a boil, then lower the heat to medium and cook for about 30 minutes, until the vegetables have softened.
Add peanut butter, curry powder, and salt to the pot and stir to combine.
Stir in the spinach or kale and cook until it’s just wilted.
Transfer to bowls and top with chopped peanuts.