North Indian comfort food, Dal Makhani is a lightly spiced creamy lentil dish that is cooked to perfection with warm spices such as garam masala and turmeric. Traditionally slow-cooked for hours, this easy, hands-off Instant Pot Dal Makhani recipe delivers authentic flavor and creamy texture in less than an hour! The best part is that you can also cook brown rice at the same time using pot in pot method.

The recipe was originally posted in Oct 2017 and has been updated with new photos and video
Jump to:
- What is Dal Makhani
- Ingredients for Dal Makhani
- How to make Daal Makhani in Instant Pot
- How to serve Dal Makhani
- Storing
- Variations and Substitutions
- What are Madras Lentils
- Difference between Madras Lentils and Dal Makhani
- How to make Madras Lentils in Instant Pot?
- How to Make Dal Makhani on Stove Top Pressure Cooker?
- More Indian Recipes with Lentils and Beans
- Recipe
What is Dal Makhani
Dal Makhani or Makhni is a North Indian(Punjabi) dish made by slow-cooking whole black urad dal (black gram beans) and rajma (red kidney beans) for hours with butter, onion, tomatoes, ginger garlic paste, and spices. This restaurant-favorite dish is easy to make at home, especially in the Instant Pot which uses this mostly hands-free recipe that is cooked in just 50 minutes. A protein-packed, gluten-free, and vegetarian meal that the whole family will enjoy.
Ingredients for Dal Makhani
- Whole Urad Dal and Rajma - Traditionally the black gram beans and red kidney beans are soaked overnight which reduces the overall pressure cooking time. But you can cook them unsoaked, by simply increasing the cooking time to 60 minutes and adding an extra cup of water.
- Veggies - Onion, tomatoes, ginger, and garlic paste
- Spices - cumin seeds, turmeric, red chili powder, and garam masala
- Garnish - Heavy cream, cilantro, and dried fenugreek leaves
How to make Daal Makhani in Instant Pot
- Rinse and soak black gram beans (whole urad) and red kidney beans (rajma) in 3 cups of water for 6 hours or overnight.
- Set Instant Pot to Sauté mode and heat oil. Add cumin seeds and onions and mix well.
- Add ginger, garlic, turmeric, red chili powder, salt, tomatoes, and beans (photos 1 - 2).
- Add 2 cups of water and give a quick stir.
- For optional pot-in-pot brown rice, place a tall trivet over the beans. Add rice, 2 cups of water, and salt to a stainless steel container. Place the rice container on the trivet (photos 3 - 4)
- Close the Instant Pot with the pressure valve to sealing. Pressure Cook for 30 minutes followed by Natural Pressure Release. Open the Instant Pot and set it to sauté mode.
- Carefully take out the rice bowl and the trivet. Mash the beans with the back of a spoon for a creamy texture. Stir in cream, garam masala, and garnish with cilantro. (photos 5 - 6)
How to serve Dal Makhani
Serve the Dal Makhani with brown rice with a side of beet raita or cucumber salad. If you are gluten-free, you can also pair it with Jowar Roti or Chilla. In India, the restaurant-style Dal makhani is often served with Roti or Parathas, and Jeera rice.
Storing
Any leftovers can be refrigerated for up to 5 days making it perfect for meal prep. This is also a great make-ahead recipe as the flavors continue to develop over time. I often cook Dal Makhani the night before especially when I have to serve it for a party or get-together. You can also freeze Dal makhani - I would recommend leaving out the cream and adding it just before serving.
Variations and Substitutions
- Don't have time to soak the beans? - Add an extra one cup of water and pressure cook for 60 minutes
- Stove Top Recipe - Pressure cook for 45 minutes on medium heat and allow the pressure to release naturally
- Vegan Dal Makhani - Use coconut cream or cashew cream(blend cashews in water)Variations
- Diced tomatoes can be substituted with store-bought tomato puree
What are Madras Lentils
Have you tried Costco's "Tasty Bites Madras Lentils"? They are similar to the North Indian Dal Makhani except lighter on spices. And if you are curious, here are the ingredients on the package - water, tomatoes, lentils(adzuki beans or "chori" in hindi), onions, red kidney beans, cream, butter, oil, salt, ginger, cumin, and chilies.
Difference between Madras Lentils and Dal Makhani
So here is the basic difference between Madras Lentils and my Dal Makhani recipe:
- Whole black gram beans are used to make Dal Makhani, while the Costco Madras Lentils have adzuki beans
- Dal Makhani also has garlic, cumin powder, coriander powder, and garam masala.
How to make Madras Lentils in Instant Pot?
Madras lentils are simply a less spicy version of Dal Makhani. So if you are trying to make Madras Lentils at home you can follow this same recipe with the following modifications:
- Use Adzuki beans instead of black gram beans
- Skip garlic and garam masala
- Add some butter along with cream at the end
How to Make Dal Makhani on Stove Top Pressure Cooker?
- Use soaked beans and follow the same steps as the Instant Pot recipe.
- Pressure cook for 45 minutes on medium heat.
- Allow the pressure to release naturally.
Absolutely! I prefer soaking the lentils overnight. But you can cook them unsoaked, by simply increasing the cooking time to 60 minutes and adding an extra cup of water.
You can use canned kidney beans. Since they are already cooked, I would recommend adding them after the pressure cooking cycle has been completed along with the heavy cream and garam masala
More Indian Recipes with Lentils and Beans
- Spinach dal
- Black eyed peas curry
- Rajma Masala
- Matki Chi Usal
- Chana Masala
- Curried Chickpeas with Spinach
Recipe
Instant Pot Dal Makhani with Brown Rice
Ingredients
- 1 cup black gram beans (adzuki beans or whole brown lentils) **
- ⅓ cup red kidney beans **
- 1 tablespoon oil (ghee or butter)
- 1 teaspoon cumin seeds
- 1 medium yellow onion finely diced
- 1 tablespoon ginger paste
- 1 tablespoon garlic paste
- ¼ teaspoon ground turmeric
- 2 teaspoons Kashmiri red chili powder
- 2 teaspoons kosher salt
- 2 cups tomatoes diced
- 2 cups water
- ½ cup light cream **
- 1 teaspoon garam masala
- ¼ cup cilantro chopped
- 1 tablespoons dried fenugreek leaves optional
Optional Pot in Pot rice
- 1 cup brown rice rinsed and drained
- 2 cups water
- 1 teaspoon salt
Instructions
- 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
Nutrition
♥ We LOVE to hear from you! Did you try this recipe? Please share your food photo with hashtag #ministryofcurry on Facebook or Instagram, so we can see it and our followers can enjoy it too! Thank you and Happy Cooking ♥ Subscribe to our Youtube Channel for tasty and easy video recipes. Looking for more Instant Pot recipes? Check out our delicious Instant Pot Recipe board on Pinterest.
Peregrine says
Thank you for sharing this great recipe.
I made it tonight for dinner, and I'll definitely be making it again.
Archana says
Thank you for your lovely feedback
Jesse says
If you are using unsoaked beans and increasing the cooking time to 60 min, can you still cook the brown rice on the trivet without it over-cooking?
Archana says
It will cook brown rice very soft.
Brooke says
I'm so excited to find this recipe! I bought some of these Tasty Bite madras lentils off amazon recently, and they were such a hit with the kids I wanted to make some. This is just what I was looking for-- thanks for being so detailed with the various options for making it more like the packaged option vs. the authentic version.
Archana says
Hi Brooke! Thank you. You will love thsi recipe.
Chicago mom says
delicious! I used extra spices and the entire family loved it.
Archana says
Thank you for the feedback! So nice when the whole family enjoys a meal.
Jen says
I've made this twice now. I love Tasty Bite, but wanted to make my own to reduce cost and waste. This is the recipe I was looking for! This tastes just like Tasty Bite but BETTER - more flavor and spice. I used a can of diced tomatoes instead of fresh diced. I could not be happier to have found this recipe! Thanks!!
M says
Delicious but I cannot have this much sodium in a serving. Is this an error?
Archana says
Thank you! I doubled checked the sodium and its accurate as it also includes the sodium in the rice. You can always make rice without salt. Also I feel the serving size is a bit generous for the amount of daal this recipe will make. Additionally you can add only half the salt while cooking and then add more only if you need it. Hope this helps.
Elaine Tsai says
So glad I found this! Made from scratch and I know what went into it. It tastes so much better than than Tasty Bite and easy to make too! It tastes fantastic and the flavors are amazing. Thank you so much for the recipe and this is an absolute keeper.
Archana says
Thank you for your feedback.
Tracie says
Hello! I would love to make this recipe! It sound delish, and I love Tasty Bites Madras Lentils! but I don’t have a instapot. Do you have a modified recipe without using one?
Archana says
Basically you will have to cook covered on medium heat for 45 mins to an hour. Also you may need extra cup of water and adjust salt and red chili powder for that.
Tracie says
Great thank you! I’m so excited to try this!
Danita Day says
Hi. I have some split black lentils i need to use. Do i need to soak those? Also will instant pot cook time be the same as the whole lentils?
Thanks
Archana says
Yes, Same pressure cooking time as the red kidney beans will needs more time to cook.
Archana says
Rice is not supposed to be submerged in the curry. What type of rice did you use? Have you cooked it before in the Instant Pot? For most brown rice 30 minutes of pressure cooking is more than enough.
Marilou says
Hi, I'm wondering what exactly is in the plate of raw vegetables accompanying the daal on the pictures? Is it raw onion, cucumber, lemon and cilantro? Recipe looks great, thanks!
Archana says
yes! Its a quick kachumber with onions, cucumber, cilantro and a sprinkle of salt.
Rebekah says
Delicious! We always make it following the notes at the bottom and including more cumin, coriander, and garlic. Fantastic!
SC says
I made your chana masala yesterday it was the BEST I'd ever had! I want to try this next, but was wondering if I wanted to cook this more traditional style - could I cook just the lentils and beans in the instant pot, and then transfer over ... and if so, how long for cooking just the lentils and the beans? It is so hard to convert recipes that say "x amount of whistles"
Archana says
Yes you can cook just beans and lentils. If you have them soaked cook for 30 mins. If you are using dry beans cook for 60 mins. These timings will cook really soft beans that are needed for this recipe. If you like a bit firm reduce the cook time by 5 to 7 mins. Basically 1 whistle is roughly equivalent to 3 mins of pressure cook time.
Bre says
I can't seem to find dried kidney beans but I can find canned. Could I use these? Would I need to adjust the recipe at all if I planned on soaking my beans before cooking?
Archana says
You can stir in canned kidney beans along with the black beans. For soaked beans 30 mins pressure cook, as the recipe explains.
Vai says
This recipe looks yummy and very do-able. Can you sub the coconut cream with coconut milk? Thank you! 🙂
Archana says
Sure you can. I you keep the can of coconut milk in the refrigerator the cream will thicken up and rise to the top. You can then add the creamy portion to the dal.
Paul says
Made this tonight and it was outstanding. Everyone said, "Double it next time." I used uncooked, unsoaked green lentils, and added coconut milk at the end instead of coconut cream. Added a dash of cumin and coriander as suggested. Wouldn't change a thing.
Luella says
Do you use all three: gram beans, adzuki beans and brown lentils and a cup of each or just gram beans?
Archana says
Basically 1 cup of any one of the 3 beans.
Jessica Warfield says
Thank you for this great recipe. I added in all of the seasonings, and it got a bit spicier than I expected. My husband and I loved the spice, and for the kids we just added a dollop of sour cream which made the spice almost nonexistent. Thank you again espeically for the great tutorial and notes. I also added a bit of tomato paste which was good too.
Heidi says
I have made this twice now because this was really good! I add all the spices (but only half of the fenugreek), and double the recipe in my 6 quart Instant Pot. Works really well. I omit the heavy cream and add a dollop of Greek yoghurt when I eat.
Awesome to have in the fridge for a healthy winter lunch on weekdays. Thanks for the recipe.
Sana says
I made this a few days ago and it was a hit! I followed the extra recommendations at the end of the recipe and used the cashew cream instead of dairy . It tasted amazing. I will be saving this recipe to add to our regular rotation.
Jane says
Making this recipe for the first time this morning. Misunderstood the directions 🙁 There was an * for dry beans to add another cup of water & cook for 60 minutes. Upon reading the comments, I now understand you meant to do the * directions IF the beans weren't soaked. I also didn't have dry kidney beans and planned on adding a can at the end - in the comments it states that I should have added them with they dry. Anyway, I'm sure it will still be edible 😉 Thank you!
Archana says
You can always stir in canned beans in the end.