Rinse and soak black gram beans and red kidney beans in 3 cups of water. Overnight or 6-8 hours. Drain the water after soaking and keep the beans aside.
Set Instant Pot to sauté mode and heat oil. Add cumin seeds to the oil and allow them to sizzle. Add onions and mix well.
Add ginger, garlic, turmeric, red chili powder, salt, tomatoes and beans. Add water and mix well.
To make pot-in-pot brown rice (optional step)- Add rice, water, and salt to a stainless steel container. Put a tall trivet over the beans. Place the rice container on the trivet.
Close Instant Pot with pressure valve to sealing. Pressure Cook (Hi) for 30 minutes followed by Natural Pressure Release. See notes for stove top method.
Open Instant Pot and set to sauté mode. Carefully take out the Rice container and the trivet. Stir in cream, add garam masala and garnish with cilantro and dried fenugreek leaves.
Video
Notes
Don't have time to soak the beans? - Add an extra one cup of water and pressure cook for 60 minutes.
Vegan Dal Makhani - Use oil instead of ghee and coconut cream or cashew cream for garnish.
Variations - If using dry beans, add an extra 1 cup of water and increase the pressure cooking time to 60 minutes.
Stove Top Recipe - Pressure cook for 45 minutes on medium heat and allow the pressure to release naturally.
No Pressure Cooker? - Cook covered on low-medium heat in a heavy bottom pot until the lentils are soft and mushy. This may take two to three hours. Add one to two cups of water as needed and adjust salt, red chili powder, and garam masala to taste.