Saute onion in butter/oil. Add garlic, celery 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 spices, 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 15 minutes, then remove lid and simmer for a further 5-10 minutes to reduce the sauce. Cook longer and add water as required for dried lentils.
Lentils should be soft, sauce should be thickened and creamy. Too thick, add water. Too thin, simmer with lid off - thickens quickly.
Add spinach near the end. Stir through half the coriander, then taste and add more salt if needed.
Serve over basmati rice or with fresh flatbreads, sprinkled with more coriander and a dollop of yogurt.
