Rich, creamy, buttery, and smoky, Dal Makhani is a very popular North Indian lentil dish made using black lentils, lots of butter, and mild spices. Serve it with naan or jeera rice for an unforgettable meal!

Jump to:
About This Recipe
Dal Makhani is one of the most popular recipes of North Indian cuisine (especially Punjabi) and it literally translates to buttery lentils. You will definitely find this rich and creamy 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) and 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 black lentils (urad), Bengal gram, and red kidney beans cooked with a lot of butter, heavy cream, and mild spices.
Because of the rich ingredients used to make this dal, it is not your everyday lentil dish. Make it for special occasions or festivals and serve it with naan or jeera rice for an unforgettable meal.
Traditionally, dal makani was cooked on low flame 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 to cook this dal in either a traditional Indian style pressure cooker or an Instant Pot will get you the same result if not better.
I always cook the lentils in a pressure cooker or instant pot to fasten the process and then give a tempering in a pot over the stovetop. But if you want to make it in one-pot, then do check out my instant pot dal makhani post.
And if you still want to cook it on low heat, then try my slow cooker dal makhani. It’s one pot, dump-and-go recipe and the taste is incredible too. I also have a Jain dal makhani recipe made using no onion, ginger, or garlic. So if you are practicing Jainism, heed on to that.
Here are some more Indian lentil recipes that you can try
- Dhaba Style Punjabi Dal Tadka
- Navratan Dal
- Whole Masoor Dal
- Hyderabadi Khatti Dal
- Amritsari Dal
- Shahi Dal
- Cholar Dal
- Sultani Dal
- Toor Dal
- Lauki Chana Dal
Ingredients



You will get all the ingredients to make this dish in an Indian grocery store. Some of them are available online too.
Lentil – You will need Whole Black Lentils (Kali Urad, Khadi Urad), Bengal gram (Chana Dal), and Red Kidney Beans (Rajma).
Adding Bengal gram 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 using homemade one as it is more concentrated and packed with flavors. You can also use tomato paste in place of tomato puree. Just use half the amount and the paste is even more concentrated than the puree.
Ghee(Clarified Butter), Butter, and Heavy Cream – Do not compromise on these ingredients because they add to the taste and richness of this dish.
Other Ingredients – Other than the above-mentioned ingredients, you will also need fresh ginger, ginger garlic paste, onions, ground cumin powder, Kashmiri red chili powder, garam masala powder, 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 gives a lovely tang to it 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 in place of coal if it’s not easily available.
How To Make Dal Makhani
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 the lentils easily digestible.
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 Instant Pot. I will not suggest cooking them in a pot over the stovetop as it takes a lot of time to cook them in the pot which is a waste of time and energy.
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 2 tablespoon ghee, 2 teaspoon ginger garlic paste, 1 teaspoon Kashmiri red chili powder, ½ teaspoon cumin powder, and 2 teaspoon 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 the pressure and the timer to 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 burn off the 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 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.

Tempering The Cooked Lentils
Once the lentils are cooked, let’s temper them.
Heat 2 tablespoon ghee in a skillet over high heat.
While the ghee is heating, lightly crush 2 green cardamoms, 2 black cardamoms, 2-inch pieces of cinnamon stick, 3-4 cloves, and 3-4 whole black peppercorns in a mortar and pestle.

When the ghee is hot, add the crushed whole spices, 2 bay leaves, and 2-3 dry red chilies to the skillet and let them crackle for 4-5 seconds.

Add 1 cup grated onions and fry till they are lightly browned (8-10 minutes).

Add 6 tablespoon tomato puree 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. Keep stirring at regular intervals. Add some water if the dal is too thick and bring it to a boil.
Note – You can discard the dry red chilies and bay leaves at this stage if you wish to.

Add 2 tablespoon butter and ¼ cup heavy cream and cook for 2 minutes. Check for salt.

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 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. Heat the dal once again 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.
Just blend some cashew nuts with water to make a smooth paste. Use this paste in place of heavy cream.
Just skip adding onion and garlic to the recipe and keep the rest of the steps the same. I have a Jain Dal Makhani Recipe on the blog so do check it out.
Serving Suggestions
You can serve dal makhani with Phulka, Tawa Paratha, Laccha Paratha, Naan, Garlic Naan, Tandoori Roti, or any other bread you prefer.
It also tastes great with Steamed Rice, Jeera Rice, or any slightly spiced pulao such as Matar Pulao or Ghee Rice.
Dal Makani is best served the next day after it’s made. So try to make it a day before you want to serve it for the maximum flavor. I also serve Vinegar Onion to perk up my Indian meals.
Storage Suggestions
Dal makhani can be stored in a clean and dry airtight container in the refrigerator for about 4 to 5 days. Reheat in a pan or microwave-safe bowl, until nice and hot.
In case it becomes a little thick after refrigerating, add a little hot water and adjust the consistency.
It is freezer-friendly too. Freeze it for up to 3 months in freezer-safe containers. Just thaw overnight in the refrigerator or for 3-4 hours over the counter, heat, and serve.
You Might Also Like
Recipe Card

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)
- 4 tablespoons ghee (divided)
- 2 teaspoons ginger garlic paste
- 1 teaspoon Kashmiri red chilli powder
- ½ teaspoon cumin powder
- 2 teaspoons salt
To Temper The Lentils
- 2 bay leaves
- 2 whole green cardamoms
- 2 whole black cardamoms
- 2 inch piece of cinnamon stick
- 3-4 whole black peppercorns
- 3-4 cloves
- 2-3 whole dry red chilies
- 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 whole black lentils, Bengal gram, and Red Kidney Beans 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 2 tablespoon ghee, ginger garlic paste, Kashmiri red chili powder, cumin powder, and 2 teaspoon 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 the pressure and the timer to 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 burn off the 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 2 tablespoon ghee, ginger garlic paste, Kashmiri red chili powder, 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.
Tempering The Cooked Lentils
- Heat 2 tablespoon ghee in a skillet over high heat.
- While the ghee is heating, lightly crush green cardamoms, black cardamoms, cinnamon, cloves, and black peppercorns in a mortar and pestle.
- When the ghee is hot, add the crushed whole spices, bay leaves, and dry red chilies to the skillet and let them crackle for 4-5 seconds.
- Add onions and fry till they are lightly browned (8-10 minutes).
- 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. Keep stirring at regular intervals. Add some water if the dal is too thick and bring it to a boil.
- You can discard the dry red chilies and bay leaves at this stage if you wish to.
- Add butter and heavy cream and cook for 2 minutes. Check for salt.
- 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. Heat the dal once again and serve.
Sankalp Packaged Foods
The rich, creamy texture and authentic flavors make it taste just like the one from a restaurant.
Shikha Gupta
Hi
Whigh brand tomato puree should we use?
Neha Mathur
I use Mother’s Recipe. But any brand will work.
Nandini
This is the most amazing thing I’ve ever made. Thank you!
Neha Mathur
So happy to hear this 🙂
Matt
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.
Neha Mathur
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.
Mayaw
The recipe indicates cumin powder but there is NO mention of cumin seeds used at the start of this recipe.
Neha Mathur
Hi Mayaw, Updated the recipe. I missed to mention it in the post.
Shikha rai
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.????????
Neha Mathur
Thnx a lot for trying. I am glad you liked it 🙂
Kavita jain
I made this and wow! just like from the restaurant Thanks so much for this wonderful recipe.
Neha Mathur
Thnx a lot for trying and leaving your feedback. It’s a fav recipe of mine too 🙂
Kris
Made this tonight and love it!
Neha Mathur
Thnx for trying Kris and leaving your feedback 🙂
Faisal habib
Very informative, loved the makhani daal
Neha Mathur
Thnx
Donna
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!
Neha Mathur
Do give it a try. I am sure you will love it 🙂
Sarah
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
Neha Mathur
Yeah. This recipe comes out fabulous. Do try it sometime.
Amanda
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.
Neha Mathur
You must try it Amanda. It’s delicious.
Shadi Hasanzadenemati
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!
Neha Mathur
Do try this recipe Shadi. I am sure you will love it.
Kaustubh Sharma
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
Neha Mathur
Thnx :). Here is the link to my channel https://www.youtube.com/channel/UC9ljm9wQRdcoRE6glkdvH5A/videos?view_as=subscriber
Shibi Thomas
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.
Neha
Hey Shibi. Thnx for noticing. Yes you have to soak the dal and kidney beans overnight. I have updated the recipe 🙂
Shobhit Dilwaria
Bhabhi! Looking forward to make this @ home. Thanks for sharing the recipe..
Pallavi
Hi Neha, thanks for sharing your lovely recipes..it’s always a pleasure to visit your blog!