This Dal Makhani recipe is a restaurant style version with subtle smoky flavors and creaminess of the lentils. If you love authentic Punjabi food then you are going to love this Dal Makhani even more. Dal Makhani is one of the most popular lentil recipes from the North Indian Punjabi cuisine made with Whole Black Lentils (known as Urad dal or Kaali Dal in Hindi) and Kidney Beans (known as Rajma in Hindi).
For this recipe, I have used a pressure cooker to cook the lentils, but I have explained the method of cooking the lentils in a pan or pot in the notes section of the recipe card.
I have also shared my expert tips and frequently asked questions by our readers on this recipe below. In the FAQ section below, I also share the method of making this dal makhani in the Instant Pot.
About This Dal Makhani Recipe
Before I list out and explain to you the beauty of this recipe, let me tell you that this Dal Makhani recipe is one of our most reviewed and loved recipe on the blog.
It has been made by many of our readers and they have loved it. It also happens to be my most shared recipe on social media.
So what makes this recipe so good and why is it one of the best Dal Makhani recipe.
Whole Spices
Fragrant and aromatic whole spices make this Dal Makhani more flavorful.
In my experimentation with this dish earlier, I remember making dal makhani without whole spices many times and hoping to get restaurant like taste and flavors in the lentils. But it never matched and my experiments continued.
When we were residing in Goa, we used to have dal makhani in a restaurant (and it was one of their best dish) at the quiet and serene Benaulim beach.
I once found a black cardamom and clove in their dal makhni. I thought may be it is the black cardamom and clove giving that lovely aroma and flavor.
Thereafter I tested dal makhani many times adding whole spices and realized that they do add a good flavor and faint aroma to the dish. But I still felt something was lacking.
Butter and Cream
Cream and butter make a big difference.
Thus I kept on experimenting and when I was testing the recipe of Dal Bukhara, I realized it was the cream and butter giving a rich taste, apart from the slow cooking.
The richness in the dish comes from the fats in the butter and cream. The amount of butter and cream added is not copious and just enough to lift the dish in its richness.
You could still make dal makhani with less butter and cream. Just remember to slow cook it for longer periods of time, to get the real deal.
Slow Cooking
The more slow cooked dal makhani is the better it tastes.
In most Indian restaurants specializing in authentic North Indian food, Dal Makhani is simmered overnight or for many hours.
Basically you can call it slow cooking of the lentils. This slow cooking makes a world of difference to the consistency of the lentils.
The lentils are slow cooked in a tandoor. The tandoor is a cylindrical shaped oven made of clay. The fire in the tandoor comes from lit charcoal or wood.
Overnight simmering of the dal makhani gives some smokiness in the dish from the charcoal or wood.
In most Indian homes you will not find tandoor. But you will easily find a pressure cooker.
The fastest way to cook the lentils are in a pressure cooker. In this post, I have used a stove-top pressure cooker, but you can cook the lentils in an Instant Pot too.
I have cooked the lentils & beans in a pressure cooker for about 30 minutes. Later I have slow cooked them on a low heat for 25 minutes.
You can slow cook for more time than what I have done. Slow cooking makes the lentils viscous, creamy and the end result is a finger-licking dal makhani.
Smoky Flavors
For that restaurant style taste smoky aroma and flavor is the key.
Like I mentioned above the smoky aroma in the dal makhani comes from slow simmering and cooking dal makhani on wooden or charcoal fires or embers.
To replicate this smokiness in the dish, I have two tried and tested methods for you.
- Charcoal infused smoke: This is also called as Dhungar in Hindi language. It is a charcoal smoking technique. It works fabulously for any recipe where you need some smoky flavor.
The dal makhani smoked with this method tastes exactly like the restaurant one. The dhungar smoking technique is optional and you can just skip if you cannot get charcoal. - Use smoked paprika: Using smoked paprika is the easiest method and especially great when you cannot get charcoal.
Just replace the red chilli powder in the recipe with smoked paprika. I have added smoked paprika so many times to dal makhani to get that smoky flavor.
Two more similar Punjabi recipes that you can make with black gram are Kaali Dal (Punjabi maah ki dal) and Amritsari Dal (langarwali dal).
How to make Dal Makhani
Soaking lentils
1. Soak both ¾ cup whole urad dal (whole black gram) and ¼ cup rajma (kidney beans) overnight in enough water for 8 to 9 hours. Drain them well. The below photo shows the soaked whole urad dal and rajma.
2. Rinse the urad lentils and rajma legumes a couple of times in water.
3. Drain well and then add them in a 3 litre pressure cooker.
4. Add 3 cups water and stir well.
5. Pressure cook for 18 to 20 whistles on a high flame, till both the whole urad dal and rajma have cooked thoroughly and softened. If they are not cooked, then add about ½ cup water again and pressure cook for 4 to 5 whistles more.
6. In the below photo, both the rajma and urad dal are cooked and softened well. The urad dal should melt in the mouth and should not give any bite or resistance when eaten.
You can also just mash the urad dal with a spoon or with your fingers to check the doneness. The same rule applies for kidney beans too.
Keep the cooked beans aside. Both the urad dal and kidney beans have to be fresh. If they are old or close to their expiry, they take a lot of time to cook.
7. In a blender or mixer jar, take chopped tomatoes. 2 large tomatoes or 200 grams of tomatoes, chopped. No need to blanch the tomatoes.
8. Blend to a smooth puree. Keep aside. You can also use the store brought 1 cup tomato puree instead of blending the tomatoes.
Making dal makhani
9. In a pan, now heat 3 tablespoons butter. You can use salted butter or unsalted butter.
10. Add the whole spices – ½ tsp cumin seeds, 2 to 3 cloves, 2 to 3 green cardamoms, 1 black cardamom, 1 inch cinnamon, 1 small to medium tej patta (Indian bay leaf). Fry till the spices become aromatic and sputter.
11. Then add ½ cup finely chopped onions.
12. Stir and saute the onions on a low flame often.
13. Saute the onions till they become light golden.
14. Then add 2 teaspoons ginger-garlic paste. Stir again and sauté till the raw aroma of ginger-garlic goes away.
15. Add 1 teaspoon chopped green chilies and stir for a minute.
16. Then add the prepared tomato puree.
17. Mix again.
18. Add ½ teaspoon red chili powder.
19. Then add about 2 to 3 pinches of grated nutmeg or nutmeg powder.
20. Mix very well and sauté this mixture on a low to medium heat, till you see fat releasing from the sides. This takes about 3 to 4 minutes on a medium-low to medium heat.
21. Then add the cooked urad dal and rajma beans.
22. Add the remaining stock. Add 1 cup water or more if required.
Note that you can add all of the stock or broth in which the beans were cooked. You need to get a medium consistency, so add accordingly.
The quantity of stock will vary with the kind of pressure cooker used and the time taken for the beans to cook. Thus either you can choose to add all of the stock or add less stock or add water if needed to get a medium consistency in the dish.
Slow cooking
23. Mix very well and simmer the dal uncovered on a low heat.
24. Keep on stirring often, so that the lentils don’t get stuck to the bottom of the pan. The lentils become viscous and start to stick at the bottom if not stirred. Mash a few lentils too while stirring.
25. Once the dal makhani has begun to thicken, add salt as required.
26. Mix very well and continue to simmer on a low heat. Keep on stirring when the lentils are simmered on low heat. When simmering you can add more water if the consistency looks thick or dry.
The longer you keep dal makhni to simmer, the better it tastes. The lentils become creamy, viscous and the consistency of the dal will keep on thickening as you simmer.
I kept for about an overall 25 minutes on a low flame. Do keep on stirring at intervals.
27. When the gravy has thickened enough, then add ¼ to ⅓ cup low fat cream or half and half. If using heavy cream, then add 2 tablespoons of it.
The consistency of Punjabi dal makhani is neither too thick or too thin. It has a medium consistency with a viscosity coming from the thoroughly cooked lentils.
28. Mix the cream very well. Then switch off the heat.
29. Now add ¼ teaspoon kasuri methi, crushed. Stir again. Cover and keep the dal makhani aside, if you are proceeding to the dhungar method. Or else you can serve Punjabi dal makhani straight away.
Optional – charcoal smoking or dhungar method
30. Heat a small piece of charcoal on flame till it becomes red hot. With the help of tongs, keep on turning the charcoal piece so that it evenly burns.
31. Keep the red hot charcoal in a small bowl.
32. Pour ½ to ⅔ teaspoon oil on the charcoal. The hot piece of charcoal would begin to smoke as soon as you pour oil on it.
33. Immediately keep this bowl on top of the dal.
34. Cover with a lid tightly for one minute and allow the charcoal to infuse its smoke in the dal makhani. I usually keep for one minute.
35. Stir again. Serve Punjabi dal makhani garnished with chopped coriander leaves and a few teaspoons of cream with naan, tandoori roti, paratha, kulcha, phulka or aloo paratha or steamed rice.
Expert Tips
- Soaking Lentils: For any kind of dried whole beans or dried peas it is always helps to soak them overnight or for 8 to 9 hours. Soaking beans reduces the phytic acid which causes indigestion and flatulence thereby makes them more digestible. Soaking also helps the beans to cook faster.
- Rinsing: Before cooking, rinse the soaked beans in water a couple of times. Then drain all the water and cook the beans with fresh water. Doing this also reduces the phytic acid.
- Cooking: When you soaking beans and lentils the cooking time considerably reduces by 25%. You can then cook the soaked beans in a pan or in a pressure cooker or instant pot.
- Freshness of lentils: Beans & legumes should be fresh and not aged. Beans which are too old or beyond their expiry date (shelf-life) will take a lot of time to cook and perhaps not cook well enough to give a melt in the mouth texture. Undercooked beans upset the stomach too.
- Tomatoes: Tomatoes are an important ingredient in this recipe. You could use canned tomatoes too or packaged tomato puree (1 cup). For fresh tomatoes, choose the sweet and ripe variety. Do not add highly sour or tart tomatoes.
- Dhungar method: The smoking method can be skipped too if you do not have charcoal. If you have smoked paprika, then use it in place of red chilli powder in the recipe to get a faint smoky flavor.
FAQs
Yes, you can cook lentils in a pot pan on the stovetop. Cooking them in a pan will take about 45 minutes to 1 hour or more.
Soak lentils overnight and then cook them covered with enough water in a deep pot. Add a few drops of butter or oil so that the water does not froth much while boiling the lentils.
You can use split urad dal with the husks. You can also use beluga lentils (black lentils), whole red lentils (masoor dal) and whole moong lentils.
The taste with all these lentils will be different. The closest taste you can get is with split urad dal with their black skins.
Yes, you can easily make dal makhani without onion and garlic. You just need to add a generous pinch of asafoetida (hing) after the whole spices crackle and before adding ginger paste.
You can use any neutral tasting oil. You can even use sunflower oil, safflower oil or peanut oil. You can even add ghee (clarified butter).
Low-fat cream has 25% fat content. If you live in the United States, you can use light cream or half and half. You can also add 2 tablespoons of heavy whipping cream.
Melt the butter using the sauté mode of the instant pot. Add the whole spices and let them crackle. Then add the onions and sauté till light golden.
Add the ginger-garlic paste and sauté for a few seconds. Add the tomato puree and sauté for 3 to 4 minutes.
Add the red chilli powder and nutmeg powder. Stir and mix. Add the lentils and 2.5 cups water. Pressure cook on high for 30 minutes. Wait for natural release.
Lift the valve and remove the lid. Use the sauté option and simmer till the consistency thickens.
Mash a few lentils with a spoon while stirring. Keep on stirring so that the lentils do not stick to the pot. Lastly add the cream and kasuri methi.
No you can skip it easily.
Garam masala powder is not required in this recipe as the whole spices give a really good flavor. But if you do not want to use whole spices, then add garam masala powder (about half a teaspoon) at the step when kasuri methi is added.
One of our readers had given this suggestion. If you can get access to dried mexican peppers, then try getting morita peppers.
They are similar to chipotles in that they are smoked jalapeno peppers, but these are smoked with a different method that leaves them with that fresh charcoal flavor.
As a bonus, since they are less harshly dried, it leaves them with a nice fruity pepper flavor that blends very well with the tomatoes.
There is absolutely no need to crush them. Just add them whole. If you crush them, the crushed black cardamom will give a strong aroma in the dal makhani.
You can soak the lentils for 2 hours but soak them in very hot water. You can soak the lentils in warm or medium hot water for 3 to 4 hours. The cooking time will be more if the lentils are aged.
Yes of course you can scale and make a large batch of the recipe.
Cream balances the earthy flavor of the lentils and the tanginess of the tomatoes. It also gives a rich taste. So to get a restaurant style taste, cream needs to be added. But you can skip the cream if you do not have it.
You can use curd, but just add about 2 tablespoons of whole milk yogurt.
Dal makhani stays good in the refrigerator for 1 to 2 days. You can freeze it for 1 to 2 weeks. Reheat while serving and add water if the consistency looks looks very thick. Add cream and butter while serving.
More Tasty Lentil Recipes
Dal (Lentils) & Legumes
Chickpeas Recipes
Dal (Lentils) & Legumes
Dal (Lentils) & Legumes
Please be sure to rate the recipe in the recipe card or leave a comment below if you have made it. For more vegetarian inspirations, Sign Up for my emails or follow me on Instagram, Youtube, Facebook, Pinterest or Twitter.
Dal Makhani Recipe (Authentic Punjabi Style)
Ingredients
main ingredients
- ¾ cup whole urad dal , 140 grams (whole black gram)
- ¼ cup rajma , 40 grams (kidney beans)
- 3 cups water for pressure cooking , 750 ml water
- ½ cup finely chopped onions , 50 grams onion or 1 medium sized onion
- 1 teaspoon chopped green chilies or serrano peppers or 1 to 2 green chillies
- 2 teaspoons Ginger Garlic Paste or 6 to 7 small to medium-sized garlic + 1 inch ginger – crushed to a paste in mortar-pestle
- 2 large tomatoes , 200 grams tomatoes – pureed or 1 cup tomato puree
- ½ teaspoon cumin seeds
- 2 to 3 cloves
- 2 to 3 green cardamoms
- 1 black cardamom
- 1 inch cinnamon
- 1 small to medium tej patta (Indian bay leaf)
- ½ teaspoon red chili powder or cayenne pepper or smoked paprika
- 2 to 3 pinches grated nutmeg or ground nutmeg powder
- 1 cup water or add as required
- ¼ to ⅓ cup low fat cream or half and half or 2 tablespoons heavy cream or
- ¼ teaspoon crushed kasuri methi (dry fenugreek leaves) – optional
- 3 tablespoon Butter – salted or unsalted
- salt as required
for dhungar method (optional)
- 1 small piece of charcoal
- ½ to ⅔ teaspoon oil – any neutral tasting oil
for garnish
- 1 to 2 tablespoons chopped coriander leaves (cilantro)
- ½ tablespoon low fat cream or half and half for garnish – optional
- 1 inch ginger julienne – optional
Instructions
Preparation
- Soak both the whole urad dal and rajma overnight in enough water for 8 to 9 hours or overnight. Later drain them well.
- Rinse both the lentils a couple of times in water.
- Drain again and then add them in a 3 litre pressure cooker. Add water and stir well.
- Pressure cook for 18 to 20 whistles on a high flame, till both the urad dal and rajma have cooked thoroughly and softened. If they are not cooked, then add about ½ cup water again and pressure cook for 4 to 5 whistles more.
- The urad dal should melt in the mouth and should not give any bite or resistance when eaten. You can also just mash the urad dal with a spoon or with your fingers to check the doneness. The same rule applies for rajma too. Keep the cooked beans aside.
- In a blender or mixer jar, take chopped tomatoes and blend to a smooth puree. Set aside.
- You can also add ready 1 cup tomato puree instead of blending the tomatoes. No need to blanch the tomatoes while pureeing.
Making dal makhani
- In a pan, now heat butter. You can use salted butter or unsalted butter.
- Add the whole spices – cumin seeds, cloves, green cardamoms, black cardamom, 1 inch cinnamon, 1 small to medium tej patta.
- Fry for some seconds till the spices sputter and become aromatic.
- Add finely chopped onions.
- Stir and sauté the onions on a low or medium-low heat often till they become light golden.
- Add the ginger garlic paste. Stir again and sauté for some seconds till the raw aroma of ginger-garlic goes away.
- Add the chopped green chilies and sauté for a minute.
- Add the prepared tomato puree and mix well.
- Add red chili powder and 2 to 3 pinches of grated nutmeg or nutmeg powder.
- Stir very well and sauté this mixture on a low to medium flame, till you see fat releasing from the sides.
- Then add the cooked urad dal and rajma beans along with the stock. Also add 1 cup water or as required.
Slow cooking
- Stir very well and simmer the dal makhani uncovered on a low flame.
- Keep on stirring often, so that the lentils don’t stuck to the bottom of the pan.
- Once it has begun to thicken, add salt as required.
- Stir very well and continue to simmer on a low flame. Keep on stirring when the lentils are simmered on low heat.
- When simmering you can add more water if the gravy looks thick or dry. The longer you keep dal makhani to simmer, the better it tastes.
- I kept it for about an overall 25 minutes on a low flame. Do keep on stirring at intervals.
- When the gravy has thickened enough, then add cream. Dal makhani is not too thick or too thin. It has a medium consistency.
- Mix the cream very well. Then switch off the heat.
- Add crushed kasuri methi (dried fenugreek leaves). Mix again.
- Cover and set dal makhani aside, if you are proceeding to the dhungar method. Or else you can serve dal makhni straight away.
Dhungar method
- Heat a small piece of charcoal on flame till it becomes red hot. With the help of tongs, keep on turning the charcoal piece so that it evenly burns.
- Keep the red hot charcoal in a small bowl.
- Pour ½ teaspoon oil on the hot charcoal.
- Immediately keep this bowl on top of the dal makhani.
- Cover for a minute and allow the charcoal to infuse its smoke in the dal makhni. Remove the bowl. Stir again.
- Serve punjabi dal makhani garnished with chopped coriander leaves (cilantro) and a few teaspoons of cream with naan, roti, paratha or steamed rice.
Video
Notes
- Cooking in pot or pan: Add the the soaked black gram, kidney beans and 3 to 4 cups water in a large pot. Cover and cook on medium heat till the lentils and beans soften. Add water as needed. If cooking the beans in a pot, it may take from 45 minutes to 1 hour.
- Soaking: It is always better to soak beans overnight or for 8 to 9 hours. Soaking reduces the phytic acid in them which causes indigestion and flatulence. Soaking also helps the beans to cook faster.
- Rinsing: Before cooking, rinse the soaked beans in water a couple of times. Then drain all the water and cook the beans with fresh water.
- Cooking: When you soaking beans and lentils the cooking time considerably reduces by 25%. You can then cook the soaked beans in a pan or in a pressure cooker or instant pot.
- Freshness: Beans & legumes should be fresh and not aged. Beans which are too old or beyond their expiry date (shelf-life) will take a more time to cook and may not cook well enough to give a melt in the mouth texture. Undercooked beans upset the stomach too.
- Tomatoes: Tomatoes are an important ingredient in this recipe. You could use canned tomatoes too or packaged tomato puree (1 cup). For fresh tomatoes, choose the sweet and ripe variety. Do not add highly sour or tart tomatoes.
- Dhungar method: The smoking method can be skipped too if you do not have charcoal. If you have smoked paprika, then use it in place of red chilli powder in the recipe to give a faint smoky flavor in the dish.
- Lentils: Use split urad dal with the husks or beluga lentils (black lentils), whole red lentils (masoor dal) and whole moong lentils. The taste with all these lentils will be different and the cooking time will also change.
- Whole Spices: Substitute whole spices with ½ teaspoon of garam masala powder. Add garam masala powder at the step when kasuri methi (dried methi leaves) are added. Add ½ teaspoon curry powder if you do not have garam masala.
- Fresh tomatoes: Use canned tomatoes or packaged tomato puree (1 cup) in place of fresh tomatoes. You may need to add some more water as packaged tomato puree is usually thick.
- Low fat cream: Use lite cream or half and half. If using heavy cream, add 2 tablespoons of it.
- Dried fenugreek leaves: Skip if you do not have these.
- Charcoal: Use smoked paprika or morita peppers which are smoked jalapeno peppers. These are smoked with a different method that leaves them with a fresh charcoal flavor.
Nutrition Info (Approximate Values)
This Dal Makhani recipe from the archives was first published on January 2015. It has been updated and republished on September 2020 with a video and plenty of my expert tips with FAQs.
Absolutely love the recipe! This recipe and all your recipes turn out just the way you describe! Thank you for all the wonderful dishes!
Great and thanks so much for this super feedback on this recipe as well as the other recipes. Most welcome.
Hi Dassana. I have a very silly question. When I’m cooking in a deep kadhai, will the small steel bowl with the charcoal sink inside ?
Since the consistency of dal makhani is usually on the thicker side, the steel bowl won’t sink. But you can opt to first place an empty steel bowl on the dal makhani and see if it sinks or not. If it does sink for any reason, then use a halved hollow onion like that of an onion bowl.
Made it. Loved it. Thanks for the recipe.
Most welcome and thanks for the feedback.
I can’t believe I am responsible for making the dal that is on my plate now! I have always fought shy of making dal makhani…seemed unlikely to be anything like the dal I enjoy so much in restaurants….but..no…it is brilliant! Thank you!!
Happy to hear! Thanks a lot for this wonderful feedback.
I have an Instapot that does not whistle. Do you have the time and strength requirements for instapot? For example, “high pressure, 8 minutes, natural release?”
In the Instapot, cook the soaked lentils for 30 minutes with high pressure. Wait for natural release and then open the lid.