Dal Makhani Recipe
This post may contain affiliate links. Please read our privacy policy.
Rich, creamy, buttery, and smoky, Dal Makhani is a very popular North Indian lentil dish made with black lentils, generous amounts of butter, and mild spices. Prepare it using my easy recipe and serve it with butter naan or jeera rice for an unforgettable meal!
Here are some more Indian lentil recipes that you can try: Yellow Dal Tadka, Toor Dal, Navratan Dal, Yellow Moong Dal, Whole Masoor Dal, and Shahi Dal.

About Dal Makhani
Dal Makhani is one of the most popular dishes in North Indian cuisine (especially Punjabi), and it literally translates to “buttery lentils.”
You will definitely find this rich and creamy Makhani Dal on the menu of every possible North Indian restaurant all over the world. It is also on the menu of dhabas (North Indian roadside eateries). When served with crispy tandoori roti or jeera rice, it’s a flavor explosion in your mouth.
Dal Makhani is a delicious combination of whole urad dal, chana dal, and rajma, cooked with generous amounts of butter, heavy cream, and mild aromatic spices.
Due to the rich ingredients used to make this dal, it is not your everyday lentil dish. Make it for special occasions, get-togethers, or festivals, and serve it with naan or jeera rice for an unforgettable meal.
Traditionally, dal makani was cooked on a low flame of coal fire in a clay pot for hours to get that ultimate creamy texture. But in today’s time, when life is so busy, who has all that time, right? But don’t get disheartened. My recipe for cooking this dal in a traditional stovetop pressure cooker or an Instant Pot (electric pressure cooker) will get you the same result, if not better.
Ingredients
You can find all the ingredients to make this restaurant-style dal makhani recipe at Indian grocery stores. Some of them are also available online.
Lentils – You will need Whole Black Lentils (Kali Urad, Khadi Urad), Bengal gram (Chana Dal), and Red Kidney Beans (Rajma).
Adding chana dal is optional, but it makes the dal very creamy. Not many people add it to their dal makani recipe, but this is what makes my recipe the BEST!
Tomato Puree – It adds a nice tang to the cooked dal. Use canned tomato puree instead of homemade, as it is more concentrated and packed with flavor. You can also use tomato paste as a substitute for tomato puree. Use half the amount, as the paste is even more concentrated than the puree.
Ghee (Clarified Butter), Butter, and Heavy Cream – Do not compromise on these ingredients, as they significantly contribute to the dish’s taste and richness.
Other Ingredients – You will also need fresh ginger, ginger garlic paste, onions, ground cumin powder, Kashmiri red chili powder, garam masala powder, dried fenugreek leaves (Kasuri methi), and salt.
Instead of red chili powder, you can also use cayenne pepper, paprika, or smoked paprika (even better).
Optional – I sometimes like to add a little yogurt when making dal makhani. It adds a lovely tang and makes the lentils creamier. You can also add some roasted gram flour (besan) to make it creamier.
Smoky Flavor – To give this dal a restaurant-style smoky flavor, I use a Dhungar over coal. You can use a piece of cinnamon stick as a substitute for coal if it’s not easily available.
How To Make Makhani Dal
Preparation
The first step to making Dal Makhani is to soak the lentils. Soaking the lentils not only reduces the cooking time but also makes them easier to digest.
Wash ½ cup whole black lentils (whole urad), 1 tablespoon Bengal gram (chana dal), and ¼ cup Red Kidney Beans (rajma) with water and soak them together or separately in 3-4 cups of water for 8-10 hours or overnight.

Cook The Lentils
The next step is to cook the lentils. You can either cook them in a traditional Indian pressure cooker or an Instant Pot. I would not suggest cooking them in a pot on the stovetop, as it takes a long time and is a waste of time and energy.
Cook The Lentils In An Instant Pot
Wash the soaked lentils once again and drain them well.
Add them to the Instant Pot along with the following ingredients
- 2 tablespoons of ghee
- 2 teaspoons of ginger garlic paste
- 1 teaspoon of Kashmiri red chili powder
- ½ teaspoon of cumin powder
- 2 teaspoons of salt.
Add 3 cups of water and close the lid.


Press PRESSURE COOK and set the timer to 25 minutes on HIGH PRESSURE. The Instant Pot will take some time to build pressure, and the timer will start counting down. Once the timer goes off, let the pressure release naturally for 10 minutes. Release the remaining pressure manually by moving the vent to the venting position. Use a spoon to move the vent to prevent steam from burning your fingers.
Open the lid and mash the dal with the back of a ladle until creamy. Set aside.

Cook The Lentils In A Traditional Stove Top Pressure Cooker
Wash the soaked lentils once again and drain them well.
Add them to a pressure cooker along with 2 tablespoon ghee, 2 teaspoon ginger garlic paste, 1 teaspoon Kashmiri red chili powder, ½ teaspoon cumin powder, and 2 teaspoon salt.
Add 4 cups of water and close the lid.
Pressure cook for 1 whistle on high heat. Then reduce the heat to low and cook for 25 minutes.
Remove the cooker from the heat and let the pressure release naturally. Then open the lid.
Mash the dal with the back of a ladle or a potato masher until it is creamy. Set aside.
Temper The Cooked Lentils
Once the lentils are cooked, let’s temper them.
Heat 2 tablespoon ghee in a large pan over high heat.

When the ghee is hot, add 1 cup of grated onions and cook until they turn lightly browned (8-10 minutes), stirring frequently.

Add 6 tablespoon tomato puree (or 3 tablespoon tomato paste) to the skillet and fry for 2-3 minutes

Now add 1 teaspoon grated ginger and 1 teaspoon garam masala powder, and cook for another 2 minutes.

Add the cooked and mashed dal to the skillet. Reduce the heat to low and cook for 20-25 minutes, stirring frequently. Add water if the dal is too thick, then bring it to a boil.
Add 2 tablespoons of butter and ¼ cup of heavy cream, and cook for 2 minutes.

Check for salt and add more if required.
Add 1 tablespoon crushed Kasuri methi and cook for another minute.

Garnish with heavy cream swirls and chopped cilantro, and serve!
Tip: Add 2 drops (or less) of kewda essence, or ¼ teaspoon of kewda water, to the ready dal. It elevated its taste a lot.

Smoke The Lentils (Optional)
Once the dal is ready, you can serve it right away or give it a Dhungar, which infuses it with a smoky flavor.
Heat a piece of coal or a cinnamon stick over direct flame until it is red hot. Keep a bowl in the center of the skillet with the dal, and keep the hot charcoal in the bowl. Drizzle a few teaspoons of oil over the coals and immediately close the skillet lid. Let the dal absorb the smoke for 10 minutes. Open the lid, discard the coal, and remove the bowl. Reheat the dal and serve.
Frequently Asked Questions
You can make a vegan version of this dal by substituting ghee and butter with oil and yogurt and cream with cashew cream.
Simply blend cashew nuts with water to create a smooth paste. Use this paste as a substitute for heavy cream.
Simply skip adding onion and garlic to the recipe and follow the remaining steps as usual.
Serving Suggestions
You can serve dal makhani with Phulka, Plain Tawa Paratha, Lachha Paratha, Naan, Tandoori Roti, or any other bread you prefer.
It also pairs well with Steamed Rice, Jeera Rice, or any slightly spiced pulao, such as peas pulao or Ghee Rice.
Dal Makani is best served the next day after it has been made. Therefore, try to make it a day in advance for optimal flavor. I also serve Sirka Pyaz or Laccha Pyaaz to perk up my Indian meals.
Storage Suggestions
Dal makhani can be stored in a clean, dry, airtight container in the refrigerator for about 4 to 5 days. Reheat in a pan or a microwave-safe bowl until it’s nice and hot.
If it becomes a little thick after refrigeration, add a small amount of hot water and adjust the consistency.
It is freezer-friendly too. Store it in freezer-safe containers for up to 3 months. Thaw overnight in the refrigerator or for 3-4 hours at room temperature, then heat and serve.
You Might Also Like
Craving more? Subscribe to Whisk Affair to get new recipes and a newsletter delivered straight to your inbox! And stay in touch on Facebook, Pinterest, and Instagram for all of the latest updates.

Dal Makhani Recipe
Ingredients
To Cook The Lentils
- ½ cup whole black lentils (kali urad)
- 1 tablespoon Bengal gram (chana dal) (optional)
- ¼ cup red kidney beans (rajma)
- 2 tablespoons ghee
- 2 teaspoons ginger garlic paste
- 1 teaspoon Kashmiri red chilli powder
- ½ teaspoon cumin powder
- 2 teaspoons salt
To Temper The Lentils
- 2 tablespoons ghee
- 1 cup grated onions
- 6 tablespoons tomato puree (or 3 tablespoon tomato paste)
- 1 teaspoon grated ginger
- 1 teaspoon garam masala
- 2 tablespoons butter (salted or unsalted)
- ¼ cup heavy cream
- 1 tablespoon Kasuri methi
Instructions
Preparation
- Wash urad dal, chana dal, and rajma with water and soak them together or separately in 3-4 cups of water for 8-10 hours or overnight.
Cooking The Lentils In An Instant Pot
- Wash the soaked lentils once again and drain them well.
- Add them to the instant pot along with ghee, ginger garlic paste, Kashmiri red chili powder, cumin powder, and salt.
- Add 3 cups of water and close the lid.
- Press PRESSURE COOK and set the timer to 25 minutes on HIGH PRESSURE. The Instant Pot will take some time to build pressure, and the timer will start. Once the timer goes off, let the pressure release naturally for 10 minutes. Release the remaining pressure manually by moving the vent to the venting position. Use a spoon to move the vent to prevent steam from burning your fingers.
- Open the lid and mash the dal with the back of a ladle until creamy. Set aside.
Cooking The Lentils In Indian Pressure Cooker
- Wash the soaked lentils once again and drain them well.
- Add them to a pressure cooker along with ghee, ginger garlic paste, Kashmiri red chili powder, cumin powder, and salt.
- Add 4 cups of water and close the lid.
- Pressure cook for 1 whistle on high heat. Then reduce the heat to low and cook for 25 minutes.
- Remove the cooker from heat and let the pressure release naturally. Then open the lid.
- Mash the dal with the back of a ladle or a potato masher until it is creamy. Set aside.
Tempering The Cooked Lentils
- Heat ghee in a skillet over high heat.
- When the ghee is hot, add onions and cook until they turn lightly browned (8-10 minutes), stirring frequently.
- Add tomato puree to the skillet and fry for 2-3 minutes.
- Now add ginger and garam masala powder and cook for another 2 minutes.
- Add the cooked and mashed dal to the skillet. Reduce the heat to low and cook for 20-25 minutes, stirring frequently. Add some water if the dal is too thick and bring it to a boil.
- Add butter and heavy cream and cook for 2 minutes.
- Check for salt and add more if required.
- Add Kasuri methi and cook for another minute.
- Garnish with heavy cream swirls and chopped cilantro and serve!
Smoke The Lentils (Optional)
- Once the dal is ready, you can serve it right away or give it a Dhungar, that is infusing it with a smoky flavor.
- Heat a piece of coal or a cinnamon stick over direct flame until it is red hot. Keep a bowl in the center of the skillet with the dal and keep the hot coal in the bowl. Drizzle a few teaspoon of oil over the coal and immediately close the lid of the skillet. Let the dal absorb the smoke for 10 minutes. Open the lid, discard the coal, and remove the bowl. Reheat the dal and serve.





Made this tonight and love it!
Thnx for trying Kris and leaving your feedback 🙂
Very informative, loved the makhani daal
Thnx
This looks SO good!! I haven’t had this in so long, since college actually. My flatmate and I used to make a version all the time because we had no money and lentils were cheap 🙂 Now that I can afford to do a proper shop I need to try out a proper version, and this sounds just perfect!
Do give it a try. I am sure you will love it 🙂
I’ve had this in restaurants and love it! Unfortunately I don’t have a pressure cooker (I’m terrified of them), but maybe I can convince someone else to cook the first part for me LOL
Yeah. This recipe comes out fabulous. Do try it sometime.
I’ve never had this dish, but I absolutely love lentils, so I have to make it! This combination of spices sounds fantastic and must pair so well with the lentils and kidney beans. This looks perfect for the chilly weather we’re starting to have here.
You must try it Amanda. It’s delicious.
First of all, loving this dish! It’s one of the dishes I always order. And I love how you have simplified it to match the modern lifestyle of no time and no wood fire. I love when recipe developers find ways to make food accessible and still, very delicious! Can’t wait to make this at home!
Do try this recipe Shadi. I am sure you will love it.
I simply can’t explain the amount of water my tongue is releasing after seeing this tasty dal makhni. Please let me know if you have a youtube channel too which I can subscribe to stay tuned. Thanks
Thnx :). Here is the link to my channel https://www.youtube.com/channel/UC9ljm9wQRdcoRE6glkdvH5A/videos?view_as=subscriber
Neha, do you have to soak the urad and kidney beans over night? I love dal makhani, but never made this at home though. I want to give this recipe a try.
Hey Shibi. Thnx for noticing. Yes you have to soak the dal and kidney beans overnight. I have updated the recipe 🙂
Bhabhi! Looking forward to make this @ home. Thanks for sharing the recipe..
Hi Neha, thanks for sharing your lovely recipes..it’s always a pleasure to visit your blog!