Saute onion: Melt butter in a pot over medium heat. Add onion, garlic and ginger. Slowly cook, stirring every now and then, for 10 minutes until tinged with gold and the onion is sweet.
Cook off spices: Turn heat up to high, add curry powder and turmeric, stir for 1 ½ minutes.
Add everything else: Add remaining ingredients and stir. Bring to simmer, then place lid on and adjust heat to low / medium low so it's simmering gently.
Simmer: Simmer for 30 minutes, then remove lid and simmer for a further 10 minutes to reduce the sauce. {Note 2 for cook times of other lentils}
Lentils should be soft, sauce should be thickened and creamy. Too thick, add water. Too thin, simmer with lid off - thickens quickly.
Coriander: Stir through half the coriander, then taste and add more salt if needed.
Serve over basmati rice, sprinkled with more coriander and a dollop of yogurt. (Low carb option - cauliflower rice).