Go Back
+ servings
top view of dal makhani in kadai with rice and naan

Dal Makhani

This vegan Dal Makhani is absolutely oil free and is made in instant pot. This one pot meal is buttery without any butter and creamy without any cream. Its simmered in aromatic spices and is a healthier Indian comfort food.
Course Main Course
Cuisine Indian
Keyword dal makhani instant pot, dal makhani recipe, how to make dal makhani, oil free dal makhani, vegan dal makhani
Prep Time 10 minutes
Cook Time 1 hour 30 minutes
Soaking time 12 hours
Total Time 13 hours 40 minutes
Servings 4
Calories 250kcal
Author Gunjan


For soaking (overnight)

For grinding

  • 1/2 of large red onion
  • 1 large or 2 small tomatoes
  • 1 inch root ginger
  • 4-5 peeled garlic cloves
  • 1 tsp cumin seeds
  • 1 cup coconut milk (tetra pack)



  • 2 1/2 cups water
  • salt as per taste
  • 1/2 cup raw cashew nuts (soaked in warm water for 10 minutes)
  • 1/2 cup coconut milk (tetra pack)
  • 2 tbsp chopped cilantro (to garnish)


  • Combine whole urad dal/black lentils and kidney beans in a big saucepan and rinse it thoroughly. Then add 3 cups water to it and let it rest overnight. (do not drain this water).
    soaked ingredients.
  • In a blender combine all the grinding ingredients ( onion, tomato, ginger, garlic, cumin seeds, 1 cup coconut milk) and blend it smooth.
    blended masala.
  • Turn on your instant pot at sauté mode and let the inner pot warm up. Then, pour the blended masala to it. Stir nicely, and let it cook. Immediately, add cinnamon stick, asafetida and dry red chilies to it. Stir again and let it cook until it thickens and reduces (about 10-15 minutes). Keep stirring at intervals of 3-4 minutes to make sure it does not stick at the bottom. If it starts splashing then lightly cover it with the lid. Do not seal the lid at this point.
    cooked masala.
  • Now, add turmeric powder, chili powder, coriander powder, cumin powder, garam masala to it and sauté very nicely.
    added spices.
  • Now, stir in the soaked lentils and beans along with its water. Add another 2 ½ cups water and salt.
    all the ingredients in the instant pot
  • Turn off the instant pot and close the lid and seal the valve. Turn it on at manual high for 60 minutes. Once done, let it release the pressure on its own naturally which will take another 10 minutes.
    cooked lentils
  • In the meanwhile, drain the cashew nuts with the help of a sieve and combine cashew nuts and 1/2 cup coconut milk in the blender. Blend it smooth and keep it aside.
    blended cashew
  • Once the lentils are cooked open the lid and stir once. Then, add in the blended cashew and mix very well.
    stirred ingredients.
  • Garnish with chopped cilantro and serve with rice, naan and onion salad.



  • Roasted cumin powder – Warm up a nonstick pan and add 1 tbsp cumin seeds. Keep sautéing until it starts to change its color and you get a strong cumin aroma. Remove from heat and let it cool. Grind in mortar pestle or in a food processor. Big batches can also be made.
  • Make sure you do not drain the water in which you soaked lentils and beans. The water is very nutritious and high in protein, I like to add it to this recipe while cooking.
  • Canned kidney beans can also be used in this recipe. Drain it and use half can. No need to soak since its already cooked. Rest will be the same. However, lentils would still need to be soaked.
  • Indian pressure cooker option (stove top option) –
  1. combine the soaked lentils and beans along with its water and plus 2 ½ cups water in Indian pressure cooker and cook until 5-6 whistles. Turn it off and let the pressure release on its own.
  2. In the meanwhile, heat a nonstick pot or a nonstick pan with high edges and combine the blended masala in it. Add asafetida, cinnamon stick and dry red chili to it and let it cook covered at high. Stir at intervals to make sure it does not stick to the bottom.
  3. As soon as it thickens add all the spices to it and sauté again for 1-2 minutes. Turn it off.
  4. Now, spoon out the cooked masala into the pressure cooker with cooked lentils, add salt and stir very nicely. Seal the lid tight and let it pressure cook again upto 5-6 whistles. Turn it off and let it naturally release its pressure.
  5. Open the lid and stir in blended cashew. Garnish and serve.
  • For pots and pans option –
  1. Add the soaked lentil and beans along with its water in the pot of your choice and let it cook at high for atleast 1 hour or until the lentils and beans are soft enough.
  2. Then in another nonstick pan follow the steps 2-4.
  3. Then, add this cooked masala into the boiled lentils and beans along with more water and salt. Let it cook at medium-high and lightly cover it. Keep stirring at regular intervals so that it does not overflow. May take about 20-25 minutes.
  4. Lastly, turn off the flame and stir in cashew cream and garnish.
  • This recipe can be refrigerated in an air tight container for about 2 weeks. Just warm it up in a microwave and serve.
  • If kept for long and it thickens, you may add ½ cup coconut milk (tetra pack) for creamier consistency or ½ cup water for a lighter dal. Adjust salt and warm it up on the stove top.


Calories: 250kcal | Carbohydrates: 33g | Protein: 14g | Fat: 9g | Saturated Fat: 16g | Sodium: 38mg | Potassium: 231mg | Fiber: 1g | Sugar: 1g | Vitamin A: 150IU | Vitamin C: 1mg | Calcium: 39mg | Iron: 4mg