Wash and rinse the urad dhal and kidney beans until the water runs clear. Add to a bowl and cover with water. Soak overnight (or for at least 6 hours).
Use a blender to make the ginger-garlic paste. Set aside. Blend the tomatoes and cashews together into a smooth purée. Set aside.
Rinse the beans again and add to a pressure cooker. Pour in 1 ¼ cups of milk and 1 cup of fresh water. Pressure cook until the beans are tender.
Test by pressing a bean with your fingers - they should yield. Cook for longer and with a little more water if necessary. Once cooked, coarsely mash with a potato masher. Set aside.
Melt 10 grams of butter in a medium pot. Add bay leaves. Sauté the onions until nicely browned. Add the ginger-garlic paste and stir it around for 1 minute. Add chilli powder and coriander powder and cook for 30 seconds.
Tip in the tomato-cashew purée and salt. Cook until it reduces and darkens, about 8 mins.
Add the cooked dhal and beans to the pot along with all the cooking liquid. Stir everything together and check for seasoning. Cover and cook for 30 mins over a low heat, stirring occasionally. Add more milk to loosen if necessary.
Stir in the garam masala and kasuri methi just before you take the pot off the heat. Transfer the dhal to your serving dish and then make the tadka.
Tadka: melt 20 grams of butter in a small pan. Add cumin seeds and garlic. Cook until the garlic is lightly browned.
Pour the tadka over the dhal. Serve hot with rice or rotis.