Prep Ingredients: Chop the sweet potatoes into cubes and roughly chop the spinach. Set aside.
Cook Aromatics: In a medium saucepan over medium heat, warm the olive oil. Add the onions and cook until they begin to soften, about 1 minute. Add the garlic and ginger, and continue to cook until everything is soft and fragrant.
Add Curry Paste: Stir in the Thai red curry paste, ensuring it coats the aromatics well.
Cook Sweet Potatoes: Add the sweet potatoes to the pan, stirring to coat them in the curry paste. Pour in the coconut milk and water or broth, ensuring the potatoes are just covered. Bring to a boil, then reduce to a simmer. Cook until the potatoes are tender, about 15-20 minutes.
Add Spinach: Remove the pan from the heat and stir in the chopped spinach once the potatoes are tender. The residual heat will wilt the spinach.
Prepare Toppings: While the spinach is wilting, chop the cashews, basil, and coriander until fine. You can do this by hand or in a food processor.
Serve: Serve the curry over a bed of steaming rice and top with chopped cashews, basil, and coriander.