Prep the aromatics: Chop the onion, mince the garlic, and grate the ginger. Rinse the lentils until the water runs clearer.
Sauté the base: Warm 1–2 tablespoons oil in a large pot over medium heat.
Add onion with a pinch of salt and cook 5–7 minutes until softened and lightly golden.
Add garlic and ginger: Stir in garlic and ginger. Cook 30–60 seconds until fragrant, stirring so they don’t brown.
Bloom the spices: Add curry powder, cumin, coriander, turmeric, and chili flakes if using. Stir for 30 seconds to wake up the flavors.
Build the sauce: Pour in the diced tomatoes (with juices), coconut milk, and 2 cups of broth.
Stir to combine and bring to a gentle simmer.
Add lentils: Stir in the rinsed lentils. Reduce heat to a steady simmer. Cover partially and cook, stirring occasionally.
Simmer times: For red lentils, cook 15–20 minutes until soft and creamy.
For brown/green lentils, cook 25–35 minutes until tender but not mushy. Add more broth if it gets too thick.
Add veggies (optional): If using carrots, bell pepper, or sweet potato, add them with the lentils so they soften with the curry.
Stir in spinach: Add spinach in batches and stir until wilted. If using frozen spinach, thaw and squeeze out excess liquid before adding.
Season and brighten: Add 1 teaspoon salt to start, black pepper, and lemon juice.
Taste and adjust salt, acid, and heat. You want a creamy, well-seasoned curry with a gentle kick.
Rest and serve: Let it sit off the heat for 5 minutes to thicken. Ladle into bowls and top with cilantro or a spoon of yogurt if you like.
Serve with rice or naan.