Rinse 1 cup black lentils and 1/4 cup kidney beans thoroughly until water runs clear.
Soak them in 4 cups of water for at least 8 hours or overnight for best results.
Drain soaked lentils and beans.
Add to pressure cooker with 4 cups water, salt, red chili powder, garlic paste, cinnamon, cloves, cardamom, and bay leaf. Cook on high flame for 20 minutes or until soft.
For stovetop, cook for 60-70 minutes on low heat.
Blend 300–400 grams ripe tomatoes into a smooth puree. Set aside.
Once pressure releases naturally, open cooker and mash lentils lightly with a wooden masher for a creamy texture.
Heat 1/3 cup ghee or oil in a pan to make tempering base.
Add garlic and ginger paste. Sauté until lightly golden.
Add tomato puree, salt, and red chili powder to the pan. Cook the tomato gravy for 5 minutes, stirring occasionally.
Add mashed lentils to tomato mixture.
Add hot water as needed for desired consistency. Cover and cook on low heat for 15-20 minutes, stirring occasionally.
Mix in fresh cream, butter, crushed kasuri methi, and garam masala. Adjust salt if needed. Cover with lid and cook 10 more minutes.
Heat ghee, add kasuri methi and Kashmiri red chili powder to prepare the second tadka.
Pour hot tadka over dal makhani and mix well. Cook dal on low heat for 5 minutes with lid on to blend flavors.
Garnish Dal Makhani with chopped green chilies and a spoonful of fresh cream. Serve hot with naan, roti, or rice.