Heat oil in a deep saucepan. Add onions, garlic and ginger and cook until beginning to soften.
Add remaining spices and stir until fragrant.
Add lentils, moong dal and 8 cups of water to begin with. Bring to a simmer and cook for 45 minutes to an hour, stirring occasionally. The lentils and moong dal soak up a lot of water as they cook, so keep an eye on the pot every 10 minutes or so and add extra water if needed. I used 10 cups in the end.
Once cooked the lentils will have virtually disappeared and the moong dal will be soft but have some remaining texture. The consistency can be quite soupy, or a bit thicker if you want to serve it on rice (just add a bit less water).
I then go through a tedious/meditative process of stirring through and picking out the cardamom pods and cloves so that no one bites into one, which you can enjoy doing too - or just relax and wait until one pops up in your spoon later.
Add salt, chopped tomatoes and spinach. Taste and adjust seasoning if necessary.
Garnish with extra chilli flakes or chopped fresh chilli, coriander and a wedge of lemon or lime for squeezing, if you like.