There’s something truly magical about Dal Makhani—the rich, buttery, slow-cooked lentil dish from North India. It is made with whole black lentils (urad dal) and kidney beans (rajma), simmered in a velvety tomato-based gravy and finished with cream and butter. Learn to make restaurant-style Dal Makhani with my mom’s authentic recipe and tips to get the best creamy dal.

Ready to serve dal makhani in a stainless pot
Want to save this recipe?
Just enter your email and get it sent to your inbox! Plus you’ll get new recipes from us every week!

There’s nothing like a warm bowl of dal makhani to bring comfort and happiness. Growing up, this rich and creamy dal was a special treat at home. I still remember the delicious smell filling the kitchen and how excited we were to eat it with soft, buttery tandoori roti.

For everyday meals, mom would make simple, quick-cooking lentils, such as Dal Tadka or Moong Dal. Dal Makhani is usually saved for special dinners or celebrations, which I really waited for. Even now, it’s one of my favorite dishes to cook and enjoy, bringing back those happy memories with every bite. And I am happy that my girls enjoy this dal makhani just as much.

If you want a quick version of dal makhani, I also have a delicious Instant Pot Dal Makhani recipe that gives you the same rich flavors with less effort!

What is Dal Makhani?

Dal Makhani is a classic Punjabi dish. It is also referred to as black dal, kali dal, or maa ki dal.

The name “makhani” means buttery, and true to its name, this dal is cooked with butter and cream, making it incredibly rich and delicious.

The key ingredient in dal makhani is black gram lentils (sabut urad dal). Red kidney beans (rajma) are added for texture and flavor. Some people also like to add chana dal for an even creamier consistency.

The lentils and kidney beans are slow-cooked with aromatics, tomatoes, and spices for a long time, which gives this dal a creamy consistency. We also add a generous amount of butter and cream to give this dal its signature taste. The final touch is the smoky flavor added with the dhungar method (more details below).

Close up shot of dal makhani with butter and cream in a small pot

Ingredients

Even though the list of ingredients for this dal may seem long, they might all be easily available in your kitchen or you can find them at any Indian grocery store.

  • Black Gram Lentils: The star ingredient that gives dal makhani its creamy texture and rich taste. You can find them at Indian grocery stores or on Amazon. Note that they are not the same as black beluga lentils.
  • Red Kidney Beans: Add a hearty bite and texture to the dal.
  • Ghee: Ghee adds a rich, buttery flavor, but you can use oil for a dairy-free or vegan version.
  • Butter: Adds a luxurious, creamy taste to the dal. Use vegan butter for a dairy-free version.
  • Aromatics: Yellow onions form the base of the masala and add a mild sweetness. Freshly grated ginger and minced garlic add warmth, zest, and savory depth.
  • Green Chili Pepper: Brings a subtle heat and fresh flavor.
  • Whole Spices: We will add bay leaf, black cardamom, cumin seeds, carom seeds, and asafoetida. The carom seeds and asafoetida are beneficial as they help in digestion for this dal.
  • Spices: This dal uses minimal spices to let the flavors of the lentils shine. You’ll need Kashmiri red chili powder, garam masala, and salt.
  • Tomato Puree: I recommend using store-bought tomato puree for the dal’s rich color and velvety texture. However, if you can’t get it, you can puree tomatoes at home to a smooth sauce.
  • Cream: Gives the signature creaminess; use dairy-free alternatives such as coconut milk or cashew cream for a vegan version.
  • Cilantro: For garnishing.
Dal Makhani Ingredients

How to Make Dal Makhani?

Start with rinsing the dal and beans under tap water several times. Then soak them overnight in a bowl with ample water. Soaking for at least 8 hours or overnight is best.

Pro-tip: In case you forget soaking and still want to make this dal, you can soak it in boiling hot water for an hour.

Once the soaking time is over, drain the water.

Wash black urad lentils for dal makhani

Pressure Cook the Dal

Transfer the dal and kidney beans to a pressure cooker. Add salt, bay leaf, black cardamom, ajwain, and water.

Pressure cooked black lentils, beans and spices in the instant pot for dal makhani

Pressure cook for 3 whistles on high heat, then cook on low heat for 15 minutes. (For Instant Pot, pressure cook for 22 minutes.)

Let the pressure release naturally, and mash some of the dal for a creamy texture.

Cooking Without a Pressure Cooker: You can still make this dal without a pressure cooker. Add the dal and beans to a large saucepan, cover with ample water, and add the salt, bay leaf, black cardamom, and carom seeds. Boil for 10 minutes on high heat, then reduce the heat to low and simmer for about 70-80 minutes until the dal is very soft and can be mashed easily.

Mashed cooked beans and lentils for dal makhani

Prepare the Tempering

Heat a large pan over medium-high heat. Add butter and ghee to the pan. Then, add cumin seeds and let them sizzle.

Add finely diced onions and cook until it softens and turns golden.

Saute onions to cook dal makhani

Add in ginger and garlic and saute for a minute until the raw smell is gone.

Then add the tomato puree. Stir and cook it well until the oil separates.

Add tomato puree to cook dal makhani

Add the boiled dal, Kashmiri red chili powder, and garam masala.

Add mashed beans into the pot to cook dal makhani

Now add water and stir it all well.

add water into the pot for dal makhani recipe

Bring the dal to a boil on medium-high heat. Then lower the heat and simmer for 30-40 minutes while stirring occasionally.

If the dal looks too thick, add boiled water to adjust the consistency.

For the final creaminess, stir in butter and cream (or vegan alternatives) and simmer the dal for another 5 minutes.

The dal makhani is ready and can be enjoyed as is or add the smoky touch as shown below.

Cooked Dal Makhani in a pot

How to Infuse Smoky Flavor in Dal Makhani?

Traditionally, dal makhani is cooked over an open flame, which gives it a smoky flavor. However, we are cooking it on a stovetop. But you can still add that smoky flavor with this dhungar method. I also use this method in other recipes such as dal tadka.

Heat a piece of charcoal over an open flame until red hot.

Heating charcoal on open flame.

Place a trivet and a small steel bowl on top of the dal. Transfer the hot charcoal to the bowl and pour 1 teaspoon of oil on it. Immediately cover the pan and let it sit for 5-7 minutes. Don’t keep it for too long, as it can become too smokey.

pour oil into the hot charcoal for dal makhani

Remove the bowl with the charcoal and mix the dal well.

Garnish dal makhani with chopped cilantro leaves and some more cream, and serve with a dollop of butter.

Pro-tip: If you have access to Amul butter, make sure to use that. We grew up eating only this brand of butter and love its signature taste on this dal makhani. It is different because it is a tad bit saltier than other brands of salted butters in the market.

Ready to serve dal makhani in a small bowl topped with cilantro

Tips For Restaurant-Style Dal Makhani

Slow cook it longer: I cannot emphasize this enough. Dal Makhani gets it signature creamy texture from slow cooking the dal. The more you cook on low flame, the creamier it gets.

Mash some of the dal: After the dal is boiled, use a potato masher to mash some of the dal. This gives a thick and creamy consistency to the final dish. You don’t want to mash completely, as you still want some texture in the final dish.

Mom’s tip: This dal is a bit harder to digest, so she recommends adding a pinch of hing (asafoetida) and some carom seeds when cooking it.

The color: I suggest using store-bought tomato puree for a deeper color and smooth texture. However, if this is not possible, it is okay to blend tomatoes at home to make the tomato puree. Make sure to use Kashmiri red chili powder for a deep red color without adding too much heat.

Be generous with butter and cream: After all, this dal has “makhani” in its name, which means “buttery”. So, be generous with the use of butter and cream to get the signature rich and creamy taste.

Make a vegan version: Simply replace butter with oil or vegan butter. And use coconut cream or cashew cream instead of dairy cream. The taste will still be rich and delicious!

Using canned kidney beans: If using canned kidney beans, you can drain and rinse them. Then add them after the dal is boiled or cooked in the pressure cooker. You can also directly add them when adding the dal to the tempering.

Onion-Free Version: Some traditional Punjabi households make it without onions & garlic, focusing on tomatoes, cream, and whole spices. Just skip the onion and garlic and follow the same recipe.

Kasoori Methi: I don’t add it, as my mom doesn’t. If you like, crush 1 tablespoon of dried fenugreek leaves between your palms and add them to the dal just before adding the cream. 

Second Tempering: I did not add a second tempering. But if you like, you can heat 1 tablespoon of butter or ghee in a small pan. Add a pinch of hing and a few pieces of thinly sliced garlic and let them cook until the garlic is golden, about a minute. Then turn off the flame and add 1/2-1 teaspoon of Kashmiri red chili powder. Stir and top it on the dal. 

What to Serve with Dal Makhani?

Dal Makhani tastes great with a variety of Indian sides. It pairs well with white basmati rice or jeera rice (my fav!). For bread lovers, garlic naan, roti, or paratha make excellent choices. You can find naan at Trader Joe’s or Whole Foods in the frozen section.

Pro-tip: Dal Makhani tastes even better the next day after cooking. So make sure to double the recipe for leftovers to enjoy the next couple of days.

Top view of Dal Makhani in a bowl topped with butter and cream

How to Store Leftovers?

This Dal Makhani will store well in an airtight container in the refrigerator for 3-4 days.

If you’d like to keep it longer, freeze it in small portions in a freezer-safe container for up to 2 months. Thaw it overnight in the refrigerator, and reheat it in the microwave or a pan on the stovetop. You might need to add a splash of water to adjust the consistency. This dal thickens as it cools.

More Dal Recipes You’ll Love

No ratings yet

Dal Makhani (Mom’s Authentic Recipe)

There’s something truly magical about Dal Makhani—the rich, buttery, slow-cooked lentil dish from North India. It is made with whole black lentils (urad dal) and kidney beans (rajma), simmered in a velvety tomato-based gravy and finished with cream and butter. Learn to make restaurant-style Dal Makhani with my mom's authentic recipe and tips to get the best creamy dal.
Prep Time: 10 minutes
Cook Time: 1 hour 20 minutes
Total Time: 1 hour 30 minutes
Servings: 5

Ingredients 

Dhungar (optional, for smokey flavor)

  • 1 piece Charcoal
  • 1 teaspoon Oil

Instructions 

Pressure Cook the Dal

  • Wash and rinse urad dal and rajma in a large bowl. Soak overnight in 3 cups of water.
  • Drain the water in the morning and transfer the dal and rajma to a pressure cooker with 1 1/2 teaspoon salt, bay leaf, black cardamom, and ajwain. Add 4 cups of water (or 3.5 cups if using instant pot).
  • Pressure cook on high-medium heat for 3 whistles, then reduce the heat to low-medium and cook for another 15 minutes. (For the instant pot, pressure cook on high pressure for 22 minutes)
  • Let the pressure release naturally. The dal and rajma should be thoroughly cooked and melt-in-the-mouth soft. Check by mashing them with your fingers. Now, you can mash some of the dal and rajma using a potato masher or ladle. Don't overmash, you want to have some texture to the dal.

Make the Masala

  • In a large pot or pan, heat 2 tablespoon of butter and ghee on medium heat.
  • Once they melt, add the cumin seeds and let them sizzle. Then, add the asafoetida and then the onions. Cook the onions for around 5-6 minutes until they turn light golden.
  • Add the ginger and garlic. Cook for 1 minute until the raw smell is gone.
  • Add the tomato puree. Cook for 3 minutes while stirring continuously. The masala is cooked when oil starts oozing out from the sides.
  • Add in the boiled dal, Kashmiri red chili powder and garam masala.
  • Add 1 cup of water and stir it in. Bring to a boil, set heat to low, and simmer the dal uncovered for about 30-40 minutes. Sit at regular intervals so that the dal does not stick to the pan. You can add more hot water to adjust the consistency of the dal.
  • Once the dal is simmered for 30 minutes, add the remaining 1 tablespoon butter and 1/4 cup cream and stir it. Simmer for another 5 minutes. The dal can be served as is or you can do the dungar method below to add a smokey flavor.

Dhungar Method (optional, for smokey flavor)

  • Place a trivet and small steel bowl on top of the dal (it should not submerge in the dal). Heat a piece of charcoal over a direct flame until it is red hot. Now, place this hot charcoal in that steel bowl and pour 1 teaspoon of oil on top. This will make fumes come out of the charcoal. Immediately cover the pan with a lid for 5-7 minutes. The longer you keep, the smokier the dal gets. Remove the lid, the steel bowl with charcoal, and the trivet.

Serving

  • Garnish dal makhani with chopped cilantro leaves, some more cream and serve with a dollop of butter.

Notes

Tomato puree: If you cannot find store-bought puree, you can puree two ripe tomatoes and use that in the recipe.  
No Pressure Cooker: Add soaked dal and rajma to a large pot, add 5 cups of water and the whole spices, and bring to a boil. Then, simmer and let it cook for 70-80 minutes. Once cooked, ensure the dal is tender and can be mashed easily. 
Chana dal: Many people add chana dal when making dal makhani. You can add 2-3 tablespoons if you like. 
Optional Onion-Free Version: Some traditional Punjabi households make it without onions & garlic, focusing on tomatoes, cream, and whole spices.
Kasoori Methi:  I don’t add it as my mom does not add it.  If you like, add and crush 1 tablespoon of dried fenugreek leaves between your palms and add to the dal just before adding cream. 
Second Tempering: I did not add a second tempering. But if you like, you can heat 1 tablespoon of butter or ghee in a small pan. Add a pinch of hing, 2-3 sliced garlic and let them cook until the garlic is golden in about a minute. Then turn off the flame and add 1/2-1 teaspoon of Kashmiri red chili powder. Stir and top it on the dal. 

Nutrition

Calories: 311kcalCarbohydrates: 33gProtein: 13gFat: 15gSaturated Fat: 9gPolyunsaturated Fat: 1gMonounsaturated Fat: 4gTrans Fat: 0.3gCholesterol: 39mgSodium: 824mgPotassium: 319mgFiber: 11gSugar: 3gVitamin A: 763IUVitamin C: 9mgCalcium: 72mgIron: 5mg

Additional Info

Course: Main Course
Cuisine: Indian
Diet: Gluten-free, Vegetarian
Tried this recipe?Mention @pipingpotcurry or tag #pipingpotcurry!

About Meeta

I strongly believe that each one of us has a chef inside us, we just need to explore the ingredients and create great food. My passion is to share easy, and wholesome recipes made using Instant Pot & Air Fryer, that are well tested, so you can cook with confidence.

You May Also Like

Get new recipes sent to your inbox!
Don't miss out! Subscribe and get all the new recipes first.

Leave a comment

Your email address will not be published. Required fields are marked *

Recipe Rating