Heat the olive oil in a large pot over medium heat. Add the onion and garlic and cook for 3 to 4 minutes until the onion softens.
Stir in the sweet potatoes, carrots, cumin, and ginger. Cook for another 2 minutes to coat the vegetables with the spices.
Pour in the vegetable broth, then add the peanut butter and diced tomatoes. Stir until the peanut butter melts into the liquid.
Bring the mixture to a gentle simmer. Cover and cook for 20 to 25 minutes until the sweet potatoes and carrots are fork-tender.
Stir in the spinach and cook for 2 more minutes until it wilts. Season with salt and pepper to taste.
Serve hot with cilantro and lime wedges if using.