Rinse the lentils. Place them in a fine-mesh strainer and rinse until the water runs clear.
Set aside.
Sauté aromatics. Warm the oil in a large pot over medium heat. Add the onion with a pinch of salt and cook 4–5 minutes until softened. Stir in garlic and ginger and cook 1 minute until fragrant.
Bloom the spices. Add cumin, curry powder, turmeric, and chili flakes.
Stir for 30–45 seconds to wake up the spices.
Add veggies. Toss in carrots, bell pepper, and zucchini. Cook 3–4 minutes, stirring to coat with the spices.
Build the base. Pour in the diced tomatoes (with juices), coconut milk, and 2 cups broth. Add the rinsed lentils and 1 teaspoon salt.
Stir well and bring to a gentle simmer.
Simmer until tender. Reduce heat to medium-low, cover slightly ajar, and cook: Red lentils: 18–22 minutes
Brown/green lentils: 25–35 minutes
Add greens. Stir in the spinach or kale during the last 3–5 minutes of cooking, letting it wilt and soften.
Finish the flavor. Turn off the heat. Stir in garam masala and lemon or lime juice.
Taste and adjust salt, pepper, and heat. If it’s too thick, loosen with a splash of broth.
Serve. Ladle over warm rice or alongside naan. Top with fresh cilantro.
Add a dollop of yogurt if you like extra creaminess.