Prepare black urad daal (1 cup) and rajma/lal chawli beans by soaking them each separately overnight.
No pressure cooker method: Throw away the soaking liquid of the beans, then add to a pot in about 10 cups of water and boil, reduce heat, and simmer on a low flame for about 4 hours until nicely tender. Check occasionally to see if you need to add more water. When the lentils are tender, continue to simmer on low for another hour or so, this time mashing and breaking up the beans as the water slowly evaporates, leaving a creamed bean texture.
Salt the daal to taste after it is cooked if you do it in a pot, but add salt to the water before cooking if you do the pressure cooker.
With pressure cooker: I prefer this way because it reduces the simmering time to only about 20-25 minutes. You will still have to spend some time boiling away the excess water and mashing to achieve the best texture, though. For the pressure cooker, you should have about 8 whistles---use about 10 cups water, or just put the maximum amount your pressure cooker can accommodate, you will still have to boil off water at the end to get it creamy anyway. When 8 whistles occur, lower the heat for about 20 minutes. Turn off the flame, release the pressure cooker's clasp, and allow the lid to fall in. Then you will still have some mashing to do to reduce the liquid and allow the creamy texture to develop. Mash the daal with the back of a spoon till it is thick and creamy and the color has darkened a lot. The daal should not be watery, but thick with mashed beans.
Optional: For a party you can boil the rajma/lal chawli separately so they show whole in your finished dish. Just put the beans covered in a few inches of water in a pot, boil, reduce flame, and simmer for 45 mins or so till the rajma is soft. (Cooking time varies on dehydrated bean age, sorry I cannot be more specific.
Now you need to make a wet masala melt:
2-3 tbs any veg. oil
2 onions chopped finely
2 tsp garlic ginger paste
1 tsp red chile powder (or more to taste)
1 tsp cumin powder
3 tomatoes chopped finely, or pureed if you prefer
To finish off the dish I give two low fat dairy alternatives to cream:
pinch of garam masala powder
pinch of dried fenugreek/qasoori methi rubbed between the palms
1 heaping tbs or more of butter
3/4 cup whole milk
3/4 cup of cream if you want it really rich and don't care about the fat and calories.
chopped green chiles, deseed if you want
First heat oil. Add in onions, stir on high heat for a few minutes, then lower the heat and cook until they look translucent but golden (well sauteed) and have lost a lot of moisture, now add in garlic/ginger paste, still on medium heat, and stir until this is all golden brown and cooked, turn up the heat, add in the turmeric, red chile, cumin, and coriander powder---allow this to sizzle for a moment---all of the steps from the time you turn up the heat should happen in a quick sequence so as not to burn any of the spices or garlic/ginger. Now quickly add in the tomatoes and salt, and cook until all the moisture has evaporated from the tomatoes (this could take 8-10 minutes, less if you use pureed tomatoes) and the oil floats above the masala. You may pour off the oil that rises to the top of this masala to reduce calories, since you will be adding butter later. Now pour this tomato based masala into the pot of pre-made daal (or vice versa, depending on your pots), stir in the pinch of garam masala and taste for any extra salt needed, bring to a boil, then cook on low heat, covered for 7 minutes just to let the flavors blend together nicely. Simmer longer to thicken if desired.
Now it is done. To finish it off and make it "makhani" or buttered, add in the pinch of garam masala, fenugreek leaves, the milk/yoghurt/cream, and the butter at the last minute for the buttery perfume taste. Now garnish with your "green masala" or cilantro and chilies, serve with hot chappatis or white rice.
Yum! A trip to Panjab right in your kitchen!