Heat the oil in a medium saucepan over a medium heat, add the onions (you want to hear a sizzle) with the cloves, cardamom and black peppercorns, mix well. Add 1 teaspoon salt and cook the onions, covered (it's important), stirring occasionally, until they are soft and translucent.
While the onions are cooking, add the lentils to a saucepan and cover with plenty of cold water, give the lentils a swirl in the water and bring to a gentle simmer - simmer gently for 10-15 minutes until tender but not falling apart into a total mush. Do keep your eyes on the lentils, as they cook quicker than you think. Drain and reserve 1 cup of cooking liquid.
While the onions and lentils are cooking, in a small frying pan, no oil, add the turmeric, garam masala and coriander, heat until fragrant, set aside.
Back to the onions - when soft, add the ginger and garlic and cook until fragrant, 3 minutes, add the toasted spices and stir well and cook for a few minutes before adding 1 teaspoon salt and both tins tomatoes. Stir well and check the seasoning adding more salt and ginger if needed.
Add the cooked lentils to the tomatoes and stir well to incorporate the tomato sauce to the lentils. A good dal should be 'scoop-able' (a bit sloppy if you like), if your dal feels a bit 'dry' add a few tablespoons of the cooking liquid to the dal. Sprinkle over the coriander if using. Enjoy