Dal makhani recipe with stovetop and instant pot instructions. Dal makhani is a classic Indian dish made with whole urad dal, rajma, butter and spices. It is one of the most popular lentil dishes originated in the Punjab region of India and Pakistan.

Dhal or dal refers to lentils and makhani translates to buttery. Dal makhani literally means buttery dal. This Punjabi dal makhani recipe is a keeper and has never failed to amaze my family & guests. I am sure you will love how rich, creamy, flavorful and delicious it tastes!
What is dal makhani?
Dal makhani is a popular Indian dish made by simmering whole black lentils & red kidney beans with spices, butter & cream.
Traditionally dal makhani is prepared by simmering lentils on wood/coal fire for several hours. This slow cooking for prolonged hours yield a creamy, thick and best tasting buttery dal.
Making a good dal makhani is easy & needs only a few ingredients but it does take time as the lentils need to be slow cooked. So this is an amazing dish to make for a weekend or special festive meal.
Serve this dal makhani with garlic butter naan, tandoori roti, roti, jeera rice or basmati rice.

Similar recipes
Chole recipe
Chana masala
Rajma recipe
How to make dal makhani (stepwise photos)
1.Soaking lentils: Add 1 cup urad dal (black lentils) & ¼ cup rajma (red kidney beans) to a large pot and rinse thoroughly a few times. Drain the water and pour 3 to 4 cups fresh water. Soak them for at least 6 to 8 hours. To speed up the soaking process you may pour boiling water and soak for 4 hours.

2.Cooking lentils: After they are soaked well, drain the water and pour 4 cups fresh water. Pressure cook on a medium heat for 10 whistles. It takes about 35 to 40 mins. If using an Instant pot pressure cook for 20 mins. If cooking in a pot add more water as required and cook until they become tender. This is how they look after pressure cooking them.

3.Check if cooked well: When the pressure releases naturally, open the lid and check if the dal is well cooked. Both rajma and urad dal have to be softened. Press down a rajma and few urad dal in between your thumb and fore finger. They should get mashed very well easily. They should not be aldente or even slightly hard.

If they are under-cooked, add half cup more water and cook for a little longer about 3 to 4 whistles.
While the dal cooks, chop 1 medium onion finely. Make 1 tablespoon of ginger garlic paste. Chop 210 grams of tomatoes (about 1 heaped cup chopped). Puree in a blender. We will need 1 cup tomato puree here. Measure it and keep aside.
Making masala
4.Heat a heavy bottom pot. Add 1½ tablespoon butter and 1 tablespoon ghee. If using whole spices (optional), add 1 bay leaf, 1 black cardamom and 2 green cardamoms. Saute them for half a minute. Then add 1 medium onion finely chopped. Saute until golden or light brown.

5.Then stir in 1 tablespoon ginger garlic paste. Saute for 1 minute until the raw smell disappears.

6.Next add 1 cup tomato puree (210 grams) and saute for a while.

7.Stir in 1 teaspoon salt, ¾ to 1½ teaspoon red chilli powder and 1 teaspoon garam masala. Adjust the chilli powder to suit your taste. I use 1½ teaspoon kashmiri red chilli powder. If you are using hot chilli powder then cut down . I used this punjabi garam masala. Please ensure you use a good one.

8.Saute until the masala cooks well and turns thick. The masala begins to smell good when done.

9.Mash the cooked lentils slightly and transfer to the pot along with the stock. Stir well and add 1 cup water.

Slow cooking
10.Stir and continue to cook on the lowest possible heat stirring often to avoid burning. After 60 mins, you will need to add another half cup water each time and cook until the dal thickens. I add about 2 cups water in total (1 + ½ + ½).

11.Continue to cook on a low flame for a total of 80 mins stirring every now and then to prevent the dal sticking at the bottom.

12.Taste the dal makhani. Add more salt as needed. Take ½ teaspoon kasuri methi (dried fenugreek leaves) and crush it in between your palms. Then add it. This brings out the flavor.

13. Stir in ¼ cup cream and continue to cook for another 10 mins. If you are making ahead for later use, you may add cream, butter and kasuri methi when you reheat it. So just make the dal makhani without all of the 3, cool and refrigerate or freeze. When you reheat add all of them.

14.This was the consistency I got after 90 mins of total cooking. Thick, creamy & flavorful. Then stir in 1½ tablespoon butter. Turn off the heat.

Smoking dal makhani (optional)
Please avoid this if you are a novice cook. Dal makhani tastes good even without this step.
Place a tall steel cup or bowl in the center of the pot. Ensure it doesn’t get submerged in the dal. Hold a piece of wood coal with a tong over direct fire. For extra safety use a stove lighter or a candle instead of a larger source of fire.
After a few minutes, the coal will turn red & hot. Then carefully place it inside the cup and pour ¼ teaspoon of ghee. You will immediately see fumes emitted by the coal. Cover the pot immediately and leave for 3 to 4 mins.

You may repeat pouring another ¼ teaspoon ghee to smoke for longer. Smoking too long will leave a very strong flavor so 3 to 4 mins is good enough for our taste.
Dal makhani goes very well with Indian breads like butter naan, roti, tandoori roti and even with jeera rice or plain basmati rice. Garnish dal makhani with cream or butter before serving.

Ingredients & Substitutes
Lentils – I use black lentils (whole urad dal) and red kidney beans (rajma). For 1 cup urad dal I use ¼ cup rajma. Many people also add a small quantity of chana dal (Bengal gram) for texture. If you prefer you can use 2 tbsp in the recipe or may substitute rajma with chana dal.
Cream – Cooking cream, whipping cream, heavy cream or homemade malai (cream) works well. If using homemade malai, then blend it well in a small blender jar until smooth. Then transfer this to a small cup and stir together a few tbsps of dal makhani. Then pour that to the pot. This way cream will not split.
Kasuri methi or dried fenugreek leaves – A small quantity of kasuri methi makes a huge difference here. However if you do not have you may skip it. There is no substitute.
Pro Tips
Soak black lentils and rajma for at least 8 hours. Well soaked lentils cook up to a creamy texture which is very important to make a delicious dal makhani. To speed up the soaking process, you may soak them in boiling hot water for 4 hours.
Precook the lentils well before adding them to the makhani masala. Even slightly undercooked dal will not work well here.
Butter is the key ingredient to make a flavorful dal makhani. Be generous & use a good amount of butter. In India, cultured butter is used which actually brings an amazing flavor. You can also use the regular butter like the way I did.
But be generous & add a good amount of it. If you are on a low fat diet, cut down your portion size instead of making a low fat dal makhani.
I prefer to use half butter and half ghee for cooking the masala as using only butter burns quickly. You may use one for the other.
Slow cooking lentils on a lowest heat brings out the best flavors. Dal makhani served in restaurants is so much flavorful as the lentils are cooked overnight or whole day on slow fire.
Without simmering you won’t really get the essential flavors in your dal makhani. I suggest simmering for at least 90 mins after adding the cooked lentils to the tempering or masala.
more tips
Spices are used in minimum quantities here to keep the flavor of slow cooked black lentils dominant. Most standard Indian restaurants use whole spices like bay leaf, black cardamoms & green cardamoms especially in the tempering.
These spices make a huge difference as they release a unique aroma to the dal when slow cooked for several hours. However you may use either whole spices or ground spices or a mix of both. More in the recipe notes.
Smoking dal makhani – Traditionally made dish is cooked on coal fire for long hours which naturally imparts a smoky aroma to the dish. To some extent the smoky flavor can be recreated at home by smoking the final dish. This step is optional. I have shown it in detail in the video you may take a look.
If you prefer to smoke your dal makhani, ensure you use wood coal that has no additives or fuel added to it. Many people also add liquid smoke to the dish to get that strong flavor.

Faqs
Dal makhani is made with whole black lentils, unsalted butter, spices, tomatoes, onions, herbs & cream.
Sabut urad dal is used in dal makhani. It is also known as black lentils or black gram.
Just skip the onions and follow the recipe as is. There will be no change in the taste.
Though the major flavors come from slow cooking the lentils, a small quantity of whole or ground spices do elevate the flavors of the dish. So for best flavors, use the spices as mentioned.
For best flavors, cool it immediately, transfer to smaller freezer safe glass bowls & freeze within 2 hours of cooking. This way the flavors are retained to a maximum extent. When you prefer to use, thaw it in the fridge overnight or for 10 to 12 hours.
To reheat, transfer to a pot and cook until bubbling & very hot. If needed pour little water. Alternately transfer to a steel bowl and reheat in instant pot (PIP) on a high pressure for 3 to 4 mins. I do not add any water for reheating in the IP.
How to double the recipe?
To double this recipe, double all the ingredients. Pressure cook the lentils for the same amount of time. I slow cook the dal makhani for longer than 2 hours after adding the cooked lentils to the masala.
Related Recipes
Recipe card

Dal makhani
For best results follow the step-by-step photos above the recipe card
Ingredients (1 cup = 240ml )
To pressure cook
- 1 cup whole black lentil (200 grams black gram – whole urad dal)
- ¼ cup rajma (red kidney beans) (optional)
- 4 cups water for pressure cooking – more for pot
Tempering or masala
- 3 tablespoons unsalted butter (divided – 1 ½ tbsp + 1 ½ tbsp)
- 1 tablespoon ghee
- 1 medium onion finely chopped (65 grams)
- 1 tablespoon ginger garlic paste
- 1 cup tomato puree (210 grams)
- 2 teaspoons salt (adjust to taste)
- ¾ to 1½ teaspoons red chilli powder (adjust to taste) (I use 1½)
- 1 teaspoon garam masala (use flavorful one)
- 2 cups water
- ½ teaspoon kasuri methi (dried fenugreek leaves) (optional)
- ¼ cup cream (more for garnish, heavy cream, whipping cream)
Whole spices (optional)
- 1 bay leaf (optional)
- 2 green cardamoms (optional)
- 1 black cardamom (optional)
Instructions
Preparation
-
Add urad dal and rajma to a large pot and rinse them well a few times. Drain the water and soak them in 3 to 4 cups of water for 7 to 8 hours. To reduce the soaking time, you may soak them in boiling hot water for 4 to 5 hours.
-
Later drain the water and rinse them well.
-
Pour 4 cups fresh water and pressure cook for 10 whistles on a medium heat. You can also cook in a pot until soft and tender adding more water whenever needed. If cooking in instant pot, pressure cook on high pressure for 20 mins.
-
Both urad dal and rajma must cook to very soft. When mashed with a spoon the dal and rajma must be soft and get mashed well easily. If not then pour another half cup water and continue to cook for another 3 to 4 whistles on a medium heat.
How to make dal makhani
-
Heat a heavy bottom pot with butter & ghee. If using whole spices, add them and saute for half a minute. Then add onions and fry until they turn golden.
-
Stir in ginger garlic paste and saute for 1 minute until the raw smell goes away.
-
Then transfer tomato puree and cook for 3 to 4 minutes until thick.
-
Add salt, chilli powder & garam masala. Saute well until the masala smells good and turns thick.
-
Mash the cooked urad dal slightly and pour it along with the stock. Pour another 1 cup water & mix.
-
Cook on a low flame until the dal thickens stirring often in between to prevent burning the bottom. After 60 mins, the dal thickens.
-
Add another ½ to 1 cup water and continue to cook until thick. This takes another 30 mins. Totally cook for about 90 mins from the time you added the cooked dal to the pot.
-
Then add kasuri methi and pour cream. Stir and cook again for 6 to 8 mins until it becomes thick and creamy.
-
Taste and add more salt if needed. Add butter and mix well.
Dhungar – smoking (optional)
-
Place a small piece of foil or a tall steel cup on the dal makhani. Hold 1 to 2 inch piece of natural wood charcoal with a tong and burn it on direct fire until red hot. Then place it on the foil kept over dal or in the steel cup.
-
Quickly pour ¼ tsp ghee on the hot coal. Immediately cover the pot and allow to smoke for 3 to 4 mins. For stronger flavor, add another ¼ tsp ghee on the coal and repeat the smoking.
-
Garnish dal makhani with butter or cream & serve with naan.
Instant pot dal makhani
-
Press SAUTE button on the Instant pot. Add ghee and butter to the steel insert.
-
Once the butter melts, add onions and saute until transparent. Add ginger garlic paste and saute for 30 seconds.
-
Pour the tomato puree, red chilli powder & garam masala. Saute for 3 to 5 mins.
-
Drain the water from the lentils and add them. Pour 4 cups water and deglaze the pot by scrubbing the bottom with a wooden spatula.
-
Press CANCEL button. Secure the Instant pot with the lid. Position the steam release handle to sealing.
-
Press PRESSURE COOK button and set the timer to 30 mins.
-
When the IP finishes it will beep. Wait for the pressure to release naturally.
-
Open the lid. Add salt & slightly mash the urad dal, not rajma.
-
Press SAUTE button. Adjust the setting to LOW by pressing the saute button twice.
-
Cook further stirring often until thick. Optional – I prefer to add 1 more cup of water in 2 batches, ½ cup each time. Cook further until really creamy and thick.
-
When most of the moisture evaporates, dal turns thicker. Then add cream and kasuri methi. Continue to cook until creamy.
-
Stir in the butter and garnish dal makhani with cream.
Notes
- You can halve the recipe to make 2 to 3 servings. Cut down the cook time to 60 mins.
- Older stock of lentils & beans (aged) often take longer to cook. So buy them from a store which sells fresher stocks.
- If you do not like to use rajma, just skip them. Keep all the quantities of ingredients same.
- You may use whole spices in tempering – 1 black cardamom, 2 to 3 green cardamoms and 1 bay leaf.
- You can use bottled or homemade tomato puree. To make the puree, chop and blend a little over 1 cup tomatoes to make 1 cup puree.
- You can cook the lentils in a pot if you don’t have a cooker. It may take about 60 to 90 mins. Add more water than mentioned in the recipe.
- Simmer the dal for at least 90 minutes to get the best texture. If you double the recipe, simmer for longer.
- Dal makhani tastes best when slow cooked on a low flame for long time. So do not cook even on a medium flame.
- To get the authentic taste you can cook the dal for as long as 3 hours on the lowest flame, adding more water as needed.
- Keep stirring consistently to prevent burning.
Alternative quantities provided in the recipe card are for 1x only, original recipe.
For best results follow my detailed step-by-step photo instructions and tips above the recipe card.
Video
NUTRITION INFO (estimation only)
© Swasthi’s Recipes


Jiya says
Hey Swasthi,
I tried this recipe a few weeks ago. It turned out amazing. This time I am running out of onions. Is it okay to skip them?
TIA
swasthi says
Hi Jiya
Glad to know it turned out good. Thank you! Yes it’s just fine to skip them.
Soma Sengupta says
Love all the recipes.
swasthi says
Thanks Soma
Akshada says
Loved It!
swasthi says
Thank you
Sandy says
Also, every time i cook it i can never seem to achieve the lovely golden brown colour. Mine seem to be a very dark colour and not as attractive to look at. Any thoughts of where i am going wrong?
swasthi says
Hi Sandy,
Rinsing well after soaking helps. Once you are done soaking, rinse them a few times. This makes a difference. The dark color is due to the skin color. I think this is the only reason. Hope this helps
Laura says
Every recipe I’ve made from this site has turned out amazing!! It has made my husband very happy finding your site! So easy to follow also, whenever i am looking for a certain recipe you are the first site i look at as i can guarentee itll turn out good! This recipe may be one of my favourite though
swasthi says
Hello Laura,
So happy to read this.
Thank you so much for leaving a comment.
🙂
Sandy says
Made it last weekend. Very hearty. Thank you for your efforts to provide us with these great recipes.
Just checking on your thoughts about reserving the liquid in which the dal/beans have been soaked as a ‘pot liquer’ for cooking later. I have read where it may help soften the dal/beans when you start cooking them.
swasthi says
Welcome Sandy
Glad to know! I know about reserving the beans cooked water/stock but not about the soaked water.
Thanks for leaving a comment.
🙂
Priya says
Aapki recipe dekh kar bahut easy lagta hai sab kuch.
Thanks for such delicious recipes in the way u do.
swasthi says
Welcome Priya
🙂
Sayali says
Hi,
I tried this recipe today and it came out really well. My son son said it’s just like restaurant… I made a small change since we are on vegan diet I didn’t use cream or butter instead just used vegetable oil but still the taste was good.
Thank you
swasthi says
Hi Sayali,
Glad to know! Thank you so much for leaving a comment.
Meena says
Hello Swasthi,
I’d like to try this recipe tomorrow, but I’m just wondering what ten whistles means ? I have a pressure cooker and I’d like to use it for this recipe but I don’t know how long I need to cook the urid and red kidney beans for.
Thanks for your amazing recipes
swasthi says
Hi Meena,
You can pressure cook the dal for 25 minutes. Hope you enjoy it
🙂
Natalia says
Dear Swasthi,
I have made several of your recipes and they are just delicious! Thanks you so much for making our lives tastier …. Dal Makhani is easily my Indian fav dish of all time and i have a huge craving right now. However I can’t find urad dal in the country Im currently living in. Can I make it with green moong ? If so how do I adjust the recipe ? Thank you so much
swasthi says
Hi Natalia
Glad to know! Thank you! This recipe is best made with black dal.
You can check this green moong recipe. Use butter and cream in that recipe. It turns out delicious. Hope you enjoy it.
🙂
Natalia says
Will definitely give it a try this weekend! Much love and thank you for your advise
Guru karkera says
I prepared Dal Makhni using ur recipe, it turned out to be just fantastic. Thanks a lot
swasthi says
Glad to know!
Rehana says
I tried out the stove top dhal makhni recipe and it came out really great and was very tasty. Wanted to say thank you for the wonderful recipes which I will keep trying .
swasthi says
Welcome Rehana!
Glad to know!
Brian Greenhalgh UK says
Hi Swasthis
I am an English man from UK , been all over India and Pakistan. Love cooking my curry’s and everyone likes them , but I must say , started to look at all your recipies and cooked the Dal Makhani , I have eaten the best in Rajasthan but this was just as good if not better , WOW , I even smoked it amazing ( I had lamb raan in Rajasthan so if you have recipie for this great news) , I have also done the samosas and the aloo tikki and Lamb Keema matar all great will leave comment on these separate. Going to do the chicken curries and lamb korma this week can’t wait.
Your are now my new superstar xxx
swasthi says
Hi Brian,
Glad to know you! Thanks for making me your new superstar!
Haha! So happy to hear that you tried many of my recipes. I don’t have a recipe for lamb raan yet. Thanks again!
🙂
Dhanya Akshay says
Hi Swasthi.
Can i substitute cream with anything else? Greek yogurt maybe? (I dont buy cream regularly, that’s why this query)
Thanks
swasthi says
Hi Dhanya,
Cream gives the best results. Yogurt won’t give the same texture to the dal. I suggest you make it another time when you have cream. I have made it without cream a few times, but it does not taste the same. Hope this helps
Dhanya Akshay says
Ok. Thanks a lot for the feedback. It’s one of my favorite dishes and I can’t wait to try it! Will let you know how it turns out.
Thanks!
Anuradha says
Hi Swasthi,
Thanks for sharing this recipe. I have used a lot of your recipes before and all of them were good. But, this recipe is a marvel. It is easy to follow and the results were amazing.
Thanks
swasthi says
Hi Anuradha
You are welcome! So glad to know it came out good.
Thanks much!
Ayush Kansal says
Wow just wow your recepies are great and so easy
I have tried this dal paneer lababdaar paneer butter masala Kadhai paneer mutton korma and butter chicken all have come out excellent restaurant quality
swasthi says
Thank you so much!
So glad to know.
Sanchita says
I made your dal makhani and naan last night. Thank you very much for the fabulous recipes. Both turned out great & Yummy 😋. I made it in the IP many times but I could never get the stovetop texture until I tried this recipe. All thanks to you. However dal started to splatter everywhere on the counter when I cooked it on the saute mode. I used a splatter screen and managed. This recipe worked out beautifully. So please suggest…..How can I prevent that?
swasthi says
Hi Sanchita
You are welcome! Glad to know both turned out good.
You should set it to LOW when you saute and next do not add more water before the dal thickens. The additional water should be poured only after the dal thickens and only half cup at one time. Hope this helps.
Sanchita says
Hey!
I realized I poured all 6 cups water at one time while pressure cooking the dal. So ended up with splatters. I made it again & this time it worked out great. Thank you. 😊
Manish says
Hello Mrs.Swasthi,
I am very delighted to express my gratitude towards your work. Your blog has been a boon for me especially in these difficult times due to the shutdown. I have consistently been using your recipes all 3 times a day. The recipes are amazing. I can easily say they are beyond excellence. I made your tandoori chicken, dal makhani with your naan to treat my mother on Mother’s Day. The expressions on her face after tasting the first bite was worth millions! I can’t thank you enough for all this. I can only say you bond families. Stay blessed!
swasthi says
Hi Manish,
Thank you so much for this note. So happy to know your mom enjoyed the meal. Glad the recipes are helping you. Thanks again for the wishes. They mean a lot to us!
Sophie says
This was truly an amazing recipe! Very easy and yet so delicious. I will definitely be doing it again.
swasthi says
Thank you Sophie
Glad to know it turned out good!
Nrusingha Narayan Dash says
Excellent
swasthi says
Thank you!
Herman Joseph says
Thanks for the recipe
swasthi says
You are welcome!
Pratidnya says
True guide lines….. Yummy recipes…
swasthi says
Thank you