Rinse the lentils. Add the dry lentils to a fine mesh strainer and rinse under cool water until it runs clear. This removes dust and helps them cook evenly.
Sauté the aromatics. Warm the oil in a large pot over medium heat.
Add onion and a pinch of salt. Cook 5–6 minutes until soft and lightly golden. Stir in garlic and ginger; cook 1 minute until fragrant.
Bloom the spices. Add curry powder, cumin, turmeric, and chili flakes.
Stir for 30 seconds. This step wakes up the spices and builds a deeper flavor base.
Add tomatoes and simmer. Pour in the diced tomatoes with their juices. Simmer 2–3 minutes, scraping up any browned bits from the pot.
Add liquids and lentils. Stir in coconut milk, vegetable broth, rinsed lentils, 1 teaspoon salt, and a few grinds of black pepper.
Bring to a gentle boil.
Simmer until tender. Reduce heat to low-medium, cover slightly ajar, and simmer 18–22 minutes for red lentils. Stir occasionally so nothing sticks. Add a splash of broth if it gets too thick.
Finish and balance. When the lentils are soft and the curry is creamy, stir in lemon or lime juice.
Taste and adjust salt, pepper, and heat. If it needs richness, add a splash more coconut milk; if it needs brightness, add more citrus.
Serve. Spoon over warm rice or quinoa, or pair with flatbread. Top with chopped cilantro if you like.