Heat olive oil (or coconut oil) in a large pot over medium heat. Add chopped onion and sauté for 3-5 minutes, until soft and translucent.
- Add minced garlic, ginger, and red curry paste, cooking for another 1-2 minutes, until fragrant.
- Pour in coconut milk and vegetable broth, stirring to combine. Bring to a simmer, scraping any bits stuck to the bottom of the pot.
- Add diced sweet potato, red bell pepper, and mushrooms (if using). Simmer for 10-15 minutes, until vegetables are tender. If using chicken, tofu, or shrimp, add them now and cook until the protein is fully cooked.
- Stir in soy sauce, brown sugar, and lime juice. Taste the soup and adjust seasoning with more curry paste, soy sauce, or sugar if desired.
- Stir in spinach or kale (if using) and cook for another 2-3 minutes until wilted.
- Ladle soup into bowls and garnish with fresh cilantro, lime wedges, sliced chili peppers, and chopped peanuts or cashews for extra crunch. Serve hot.