Grind spices (red pepper flakes, cumin, coriander, cinnamon, nutmeg, cloves, cardamom) together in a mortar and pestle.
Melt butter in large heavy pot (I use a big oval cast iron Dutch oven) over medium heat. Stir in onions, garlic, spices and saute for five minutes until onions and garlic are translucent and aromatic.
Add lentils and vegetable stock (add stock 1 cup at a time, as needed), bring briefly to a boil and then reduce to a simmer, stirring occasionally, for up to an hour. [Uncooked lentils will take longer; cooked lentils will require less stock.]
When lentils are cooked and the stew seems ‘ready,’ add tomatoes and torn spinach and reduce heat.
Mix cream and yoghurt together and swirl into pot. Remove from heat.
Serve with basmati rice or hearty bread. This stew would also go well with chicken.