Dal Makhani Recipe
on Jul 24, 2025
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 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 restaurants 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 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 one thing that 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 taste and richness of this dish.
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).
I sometimes like to add a little yogurt while making the masala of 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 give it a Dhungar using 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 lot of time to cook them in the pot, which 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. 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 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 grated onions and cook until they turn lightly browned (8-10 minutes), stirring frequently.

Add 6 tablespoon tomato puree to the skillet and fry for 2-3 minutes

Now, add 1 teaspoon of grated ginger and 1 teaspoon of 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 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!

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 charcoal 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.
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 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

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
- 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.
The rich, creamy texture and authentic flavors make it taste just like the one from a restaurant.
Hi
Whigh brand tomato puree should we use?
I use Mother’s Recipe. But any brand will work.
This is the most amazing thing I’ve ever made. Thank you!
So happy to hear this 🙂
You don’t list the Garam Masala in the recipe on the top of the post, only the bottom. Hence I completely missed adding it. I only realized this at the end while tasting after cooking it all day.
Hi Matt, I just checked the posts and it’s mentioned everywhere. Anyways, You can add garam masala at any point. Even when the dal is ready. Just add it and mix well.
The recipe indicates cumin powder but there is NO mention of cumin seeds used at the start of this recipe.
Hi Mayaw, Updated the recipe. I missed to mention it in the post.
Hey Neha
I have made this recipe 5-6 times by now and my guests and family just loved it Thank you so.much for giving this authentic recipe.????????
Thnx a lot for trying. I am glad you liked it 🙂
I made this and wow! just like from the restaurant Thanks so much for this wonderful recipe.
Thnx a lot for trying and leaving your feedback. It’s a fav recipe of mine too 🙂