Soak urad dal and red kidney beans separately overnight or for at least 8 hours.
In the morning, drain the water from the lentils and beans. Take them along with the moong dal in a pressure cooker. Add 1tsp salt and 1tsp oil; cook for 4~5 whistles on medium flame. Turn off the stove and let the pressure come down naturally.
Heat 1tbsp oil and 1tsp ghee in a pan; add the onions, ginger+garlic paste and green chilies. Cook till the onions are translucent, about 4~5 minutes.
Add the tomato puree, ground cumin, ground coriander, red chili powder, pepper and salt. Simmer the mixture until oil starts to separate around the edges, about 8~10 minutes.
To the cooked dal and beans mixture, add the onion-tomato gravy and cook on pressure for another 1~2 whistles. Turn off the heat and let the pressure come down.
For the final tempering: heat the butter in a small pan, add the Kashmiri red chili powder, garam masala and cilantro.
Add the tempering to the cooked dal along with the cream (if using) and simmer for 1~2 minutes to heat it through. Serve warm with rice or roti.