Soak both the kidney beans (rajma) and whole black lentils (urad dal) overnight if you are making this in the morning. Rinse the lentils for a couple of times before soaking.
If you are making it in the evening, then soak the lentils in the morning.
Later discard all the water from the lentils well and then rinse them with fresh water.
Add the rinsed lentils in the steel insert pot of the IP.
Making tomato puree
Take the chopped tomatoes, chopped ginger and chopped garlic in a blender or mixer jar. Alternatively, you can use 1 cup canned tomato purée and 1 tablespoon ginger-garlic paste and add directly in the pot.
Blend till smooth. Keep aside.
Cooking in the instant pot
Add all the spices powders - turmeric powder, cumin powder, kashmiri chilli powder and Garam Masala or Punjabi Garam masala. Also, add salt as per taste.
Now add the blended tomato, ginger, garlic puree and water. You can even add finely chopped ⅓ to ½ cup onions at this step.
Stir and mix very well.
Switch the IP on. Press the pressure cooker switch on high pressure and set the timer to 30 minutes. You can even use the Bean/Chili option of the Instant Pot which has an auto setting of pressure cooking on high pressure for 30 minutes.
After the lentils are pressure cooked, wait for 10 or 12 minutes. Then do a quick pressure release (QPR) - lift the valve and remove any steam left.
Remove the lid. You will see that that the beans and lentils are cooked well, but the consistency of the curry is slightly watery and broth-like. The end result should be smooth and creamy. So the whole mixture has to be simmered till the consistency thickens a bit and becomes creamy.
Note that the lentils have to be softened and cooked well. You should be able to mash both the urad dal and rajma with a spoon if they are cooked completely. If the lentils are undercooked than pressure cook for some more minutes. Add some water if required.
Simmering further
Press the sauté button for 7 to 8 minutes on normal.
Add butter. Stir and mix.
With the back of the spoon mash some of the lentils and beans. Stir often. The stirring will also help in mashing a few of the cooked lentils and beans. Mashing the lentils also helps in making the gravy smooth and slightly thickening the consistency.
While using the sauté option, you can even set it to the low mode for a slow simmer. But keep on stirring often.
Once the consistency is thickened, add cream and kasuri methi (dried fenugreek leaves). Mix well. Both these ingredients are optional and you can skip them.
Remember the consistency should be neither thick nor thin. If it becomes too thick and then add some water. Also, it will thicken more on cooling.
While simmering do stir often so that the lentils do not stick to the bottom of the steel pot.
Serve Instant Pot Dal Makhani with Indian Flatbreads like roti, naan bread, tandoori roti or lachha paratha or aloo paratha. You can also serve it with cumin rice or biryani rice.
If you like then while serving add drizzle some cream or top with some butter. You can even garnish with coriander leaves (cilantro) and ginger julienne.
Notes
Lentil Freshness and quality: Use fresh lentils. Aged lentils and beans take a long time to cook. So you can pressure cook further for 10 to 15 minutes. Add ½ to 1 cup water while pressure cooking further.
Consistency: Mash some lentils while simmering (in the last part of the cooking). Mashing lentils help in thickening the gravy. If the consistency becomes too thick, then add some water.
Ground Spices: You can add less or more of the ground spice powders as per your taste preferences.
Substituting tomatoes, ginger and garlic: Add 1 cup canned or homemade tomato puree and 1 tablespoon ginger-garlic paste. You can even crush the ginger and garlic in a mortar-pestle.
Vegan options: Use 2 to 3 tablespoons oil instead of butter. Skip cream or you can add cashew cream or coconut cream. With coconut cream, the flavors of coconut will be felt.
Optional ingredients: Dried fenugreek leaves (kasuri methi) and cream can be skipped completely. You can even add ⅓ to ½ cup of finely chopped onions with the ground spice powders and tomato puree.
Spice substitutions: Instead of cumin powder, add ½ teaspoon cumin seeds. If you do not have red chilli powder or cayenne pepper, then add 1 to 2 green chillies or serrano peppers. You can skip ground turmeric powder.