Soak the lentils/beans (black Beans, kidney beans and Split Bengal Gram lentils or called (chana dal) over night. Wash them well and drain.
In a deep, thick bottomed pot/dutch oven heat the butter/oil/ghee. Add the cardamom, cumin seeds and the slit hot green chili peppers. When the seeds sizzle, add the onions and cook at medium heat till they are clear and soft. Add all of the drained lentils/beans, and salt; toss them together with the oil/ghee/butter and the spices and cook for about 5 minutes at medium to high heat.
Stir in the Makhani Masala/butter based tomato cream sauce we made, toss everything together to be well combined; all the lentils/beans should be well coated with this sauce and simmer at medium heat for about 10 minutes while stirring once in a while.
Add the warm water to the pot, stir and cover; simmer at low heat till the beans are tender. This might take a couple of hours. For a quicker version use the pressure cooker to cook as I always do.
After the lentils/beans are tender, mash some of them with the back of a big spoon. Stir everything together in the pot. It should be thicker than a regular soup, but not dry and clumpy. The consistency should be such that it easily coats a big spoon and yet can be poured out. If there is too much water left, keep on simmering till this consistency is reached. If it gets too dry, add some more warm water and keep simmering. Cook for about 10 minutes after you have reached the right consistency.
Stir in the milk/cream in the pot and lower the heat, cover and cook for another 15 minutes.
Serve hot with Naan or Roti (or any Indian flat bread). Top with more butter/ghee/cream if you want.