2 tablespoons unrefined virgin coconut oil
1 medium onion, finely chopped (about 1 to 1 1/4 cups)
2 sweet potatoes (16 to 18 ounces in total), peeled and chopped into 3/4-inch chunks
1 pinch kosher salt, plus more to taste
1 pinch red pepper flakes, plus more to taste
4 teaspoons finely grated ginger (from a 3-inch piece)
3 garlic cloves, finely grated
3 tablespoons red curry paste (such as Maesri or Thai Kitchen)
1 cup red lentils, rinsed
1 14.5-ounce can diced tomatoes (with juices)
1/3 cup finely chopped cilantro (leaves and tender stems)
1 14-ounce can full-fat coconut milk
1 lime finely grated zest (juice reserved for finishing the dish)
2 1/2 cups water, plus more to thin, as needed
1 tablespoon fish sauce, or to taste; see note about a vegan substitute
1 tablespoon (per person) Greek yogurt or sour cream, to serve
1 handful cilantro leaves, to serve
Heat coconut oil in a large pot or Dutch oven over medium heat. Add onion and cook for about 4 to 6 minutes, until softened. Add sweet potatoes and 1/2 teaspoon kosher salt. Cook for 5 minutes (stirring often), or until the outsides lose their firmness.
Push the sweet potatoes to the side of the pan and add ginger, garlic, and red curry paste. Cook for 30 seconds, or until fragrant, then stir together with the sweet potatoes.
Add red lentils, tomatoes, cilantro, coconut milk, lime zest, and water. Bring mixture to a boil; reduce heat and simmer gently, stirring occasionally, until lentils are soft, about 20 minutes, thinning with more water, if needed. Season soup with fish sauce, then off the heat, add the lime juice (start with 1 teaspoon and go from there). Taste again. Need more fish sauce or salt? Add a bit more. Need more heat? Add a few red pepper flakes.
Divide among bowls and top with a dollop of yogurt and a little cilantro. (Make-ahead tip: stew can be made up to 3 days in advance; gently reheat before serving.)