Published: · Modified: by Tanvi Srivastava · This post may contain affiliate links
Jump to Recipe Print Recipe
Dal makhani is a quintessential dish in North Indian cuisine, particularly popular in Punjab. It's a creamy lentil preparation where whole black urad dal (lentils) are simmered slowly with onions, tomatoes, ginger, garlic, and a mix of spices until they become luxuriously creamy.
This slow cooked lentil stew dish is known for its velvety texture and deeply satisfying flavors. Deeply comforting & delicious, you are going to love this dal makhani recipe. Best enjoyned with indian flatbreads such as naan and tandoori rotis.
It is impossible to imagine Indian cuisine without dal or lentils. Lentils are a staple in our homes and a loved component of our everyday meals.
Black lentils are a craze in north india. Though I love all kinds of dal, however whole black lentils are my most favorite. In the past, I have shared many punjabi dal recipes made with black lentils or brown lentils such as langar wali dal, dal bukhara, dal maharani and sabut masoor dal.
Dal Makhani literally translates to "buttery lentils". People often mistake that dal makhani has tons of butter added to make it buttery, however the "makhani" refers to the buttery texture that the lentils achieve after long and slow cooking. Butter is definitely added to the lentils to accentuate the comforting buttery taste profile.
Dal Makhani is slow cooked whole urad dal (sabut kali urad), red kidney beans(rajma), butter, aromatic spices, kasuri methi(dry fenugreek leaves) and finished with heavy cream. Traditional dal makhani is cooked over wood or coal fire and the lentils sometimes simmer for hours or even overnight to achieve a thick &creamy texture.
Growing up, dal makhani meant special occasions. It wasn't an everyday thing.Mom would make it on on birthdays, anniversaries or when we had family gatherings. She would also make her tawa no yeast naan or tandoori rotis alongside.
Trust the Process
To make velvety dal makhani, it takes a bit of time and effort.The process of making dal makhani goes beyond the "everyday" pressure cook and temper lentils. It needs a bit of planning and patience. As you make it more and more, slowly you will learn from experience when the lentils have cooked just about right and are not mushy. It took me some time to get a hang of it.
A lot of steps in this recipe can be done a day ahead. You can pressure cook the lentils and keep them refrigerated for 1-2 days. You can fire roast the onions and tomatoes one day ahead too. If you plan slightly, it makes the entire process quick and easy.
My Recipe
Over a decade back, I saw a chef on TV show using this method of charring the onions, garlic and tomatoes on open fire and then using it in tadka of dal makhani. He fire roasted the onion, tomatoes and garlic till the skins were charred and the insides were soft and pulpy. Then he made a coarse paste of onions and tomatoes and used it. I tried his method and it stuck with me. Here are some reasons I like it.
- Fire roasting and then grinding eliminates the need to hand chop onion & tomatoes. We are going to making a coarse paste- don't blend too much.
- There's something about fire roasting vegetables! Open fire roasting contributes to a difference in taste of dal as compared to browning chopped raw onions, garlic & tomatoes separately in butter. I feel that the charred bits definitely add to the smokiness of the dal.
5 Top Tips for Best Dal Makhani
- Soak The Lentils - Soaking sabut urad dal and rajma softens their skin and the grains swell. This not only reduces the cooking time but also the lentils cook out creamier. I have never cooked unsoaked urad lentils and I don't recommend.
- Slow Cook & Simmer - Slow-cooking the lentils makes them develop creamy consistency naturally since the startches in the lentils slowly release. Slow cooking also allows the flavors of different spices that we going add, to blend togther in a cohesive way.
- Regular Stirring - Urad lentils tend to become sticky as they cook. Stirring the dal while it cooks helps prevents dal from sticking or scorching at the bottom of the pot. Secondly, stirring helps break down the lentils, creating a creamier consistency. You also get to feel and monitor the consistency of dal when you stir while it slow cooks.
- Don't go overboard on Onion & Garlic - The prominent taste in dal makhani should be that of dal. Too much onion and garlic can get overpowdering and mask the flavor of lentils. We want to use them to complement the flavor of the lentils. Also don't grind the onion or garlic to a fine paste else they become too strong.
- Be light handed with spices - A well made dal makhani is all about simplicity! Similar to onion & garlic, spices can also get overwhelming pretty easily and dominate the natural taste of lentils. We want a hint of spices in dal makhani.
More Tips
- Use Tomato Puree - For that restaurant style dal makhani taste, use a little bit of canned tomato sauce or tomato puree(in india). Tomato puree gives a smoother texture to dal makhani as well as enhances the color of dal. I use a combination of fresh tomatoes and canned tomato sauce.
- Don't skimp on butter - Dal makhani is a rich & comforting dish thanks to butter. Salted butter gives savory flavor to the dal. If you will use less butter, that luxurious & indulgent mouthfeel of dal makhani will be missing.
- Don't make it sweet - When it comes to such creamy punjabi dishes, people often confuse them to be sweet. Authentic dal makhani is rich & savory. Sweetness is not the intended taste profile of this creamy dal.
- Make it Ahead - I highly recommend making dal makhani a few hours ahead of when you plan to serving. A day ahead is even better. Dal Makhani tends to thicken as it sits and the texture is improved immensely. Also, all the flavors are absorbed beautifully.
Ingredients
- Whole Black UradDal- These lentils are the key ingredient for making dal makhani. In Hindi, these are called sabut kali urad. You can easily purchase from any south asian or indian grocery stores.Whole urad dal is also available on amazon.
- Whole Spices- cinnamon stick, bay leaf (not pictured), black cardamom & cumin seeds
- Ground Spices- kashmiri red chili powder(or use paprika powder), red chili powder (or cayenne pepper), pinch of hing(asafoetida), garam masala powder
- Tomatoes- I use combination of fresh tomatoes and bit of store bought tomato sauce for the restaurant style taste.
- Kasuri methi- Punjabi dishes are incomplete without a sprinkle of kasuri methi(kasoori methi). If you cannot find these dry fenugreek leaves, simply skip them since there is no substitute.
- Ghee- Urad dal becomes sticky as it cooks. A little ghee if added during boiling the lentils prevents the grains from sticking to each other and the pot.
- Other Ingredients- ginger julinnes, garlic paste, salted butter, salt, heavy cream, tiny pinch of grated nutmeg
Instructions
Pressure Cook The Lentils
(This can be done a day ahead)
- Soak the black urad lentils and kidney beans in enough water for atleast 12-18 hours. The lentil is pretty tough and depending on ambient temperature it might take 18-24 hours for the lentils to soak properly. You should be able to break a grain of soaked lentils between your index finger and thumb- that's how you know thats its rightly soaked.
- Drain and add the soaked the dal and rajma to a pressure cooker along with water, chopped ginger & garlic, hing, salt, ghee, cinnamon and black cardamom.
- Pressure cook the lentils on medium heat for 2-3 whistles, then reduce to low and let cook for about 10-15 minutes. Switch off the stove and then let the pressure release naturally.
- Openthe pressure cooker lid. The lentils should hold shape, their skins slightly cracked and the grains tender(easily mushed). While the lentils are still hot, with the help of masher or back of a spoon, mash slightly. Do not mash at length else the lentils will become sticky instead of creamy. If you feel that the lentils are slightly tough to mash, pressure cook for another 1-2 whistles on medium.
Temper The Dal
- While the lentils are cooking, fire roast the onion, garlic and tomatoes. Roast till the skins are charred. I use a small perforated pan which can be used on stovebut you can roast them on the stove directly similar to how we roast eggplant for baingan bharta.
- Once roasted,let cool and peel off the skin of onion & garlic. Add everything to a food processor and blend to make a coarse paste without adding water. (This paste can be made a day ahead as well).
- In a heavy bottom cooking pot (4 qt or larger) orkadhai (indian wok), heat up the butter and oil on low heat. Crackle the cumin seeds. Add the kashmiri chilli powder and fry on low heat for a few seconds taking care not to burn.
- Add the onion-tomato paste that we made earlier and canned tomato sauce(or tomato puree). Fry on low medium heat for 3-4 minutes or till you see oil seperating and the color darkening to deep red.
- Now, add the lentils to the pot along with ginger julinnes. Taste and adjust the salt.Mix well.
Slow Cook Dal Makhani
- Add hot water before we set dal to slow cook. I add about ¾ cup water. Adjust depending on the desired consistency, however do not make it too runny.
- Bring the dal to a slow boil and then reduce the heat to low. Let simmer for about 30-35 minutes. Stir from time to time while the dal is slow cooking. The lentils will thicken and the flavors will develop.
- Once the lentils have slow cooked enough, finish withkasuri methi, garam masala,a little bit of freshly grated nutmeg, a few tablespoons of butter and heavy cream.
- Let simmer on low heat (don't let boil after you've added cream) for another 10 -12 minutes.
- Smoky flavor - If desired, smoke the dal using dhungar method.Place the bowl on top of dal. Heat up a piece of charocal over open fire. Place the hot coal in the bowl. Drizzle ghee over the hot charcoal. Immediately cover and let smoke for maximun 1-2 minutes else smoky flavor will get overpowering. It is similar to how I smoke dal bukhara.
- Let the dal rest for atleast 30 minutes before serving. They get better as they sit.
- Garnish with little heavy cream, chopped cilantro, green chillies or ginger (if desired) before serving.
Serving
- Serve dal makhani with indian flatbreads like soft and doughy naan or crisp charred tandoori rotis or flaky plain parathas.
- If you prefer rice, serve with plain steamed basmati rice, jeera rice, pulao or biryani.
- Accompainments - Serve sliced onions, papaddams, kachumber, garlic pickle, green chutney or raita for a hearty meal.
- Party Menu Idea - For a vegetarian indian feast, serve dal makhani with dishes like paneer biryani, shahi paneer korma and dum aloo.
Storing & Reheating
- Refrigerator: Cool down dal makhani to room temperature and transfer it to an airtight container. Consume the refrigerated dal within 3-4 days for best freshness.
- Freezing - If you wish to freeze dal makhani,dont add heavy cream. Cool down the dal completely, portion it and freeze using airtight containers or freezer bags for 3-4 weeks.
Reheating - It is natural for dal to thicken as you store it. You can adjust the consistency using water or heavy cream. You may reheat over stove or in microwave. Heat over medium-low heat on stove, stirring occasionally. Add a dollop of butter or splash of heavy cream once hot. You could microwave for 20-30 seconds, stir 1-2 times in between. For frozen dal, add the frozen dal to a sauce pan, add ¼ cup water and heat up. Once hot, add heavy cream and butter to finish the dal.
I originally published this recipe in March 2015. I updated this post in January 2024 with lots of extra tips and tricks that I have learned in the past 9 years. The recipe is more or less the same but I have added detailed instruction steps. I have also included step by step process shots for better understanding the texture and color of the dal in different stages of cooking.
Punjabi Dal Makhani Recipe
Tanvi Srivastava
Creamy punjabi whole black gram (urad) & kidney beans (rajma) lentil dish best served with naan.
5 from 4 votes
Print Recipe Pin Recipe
Prep Time 20 minutes mins
Cook Time 1 hour hr
Total Time 1 hour hr 20 minutes mins
Course Main Course
Cuisine Indian
Servings 5 servings
Calories 294 kcal
Ingredients
For Cooking the lentils
- ¾ cup sabut urad dal whole black gram lentils
- ¼ tablespoon rajma red kidney beans
- 1 tablespoon ghee
- 1 tablespoon ginger finely chopped
- ½ tablespoon garlic clove finely chopped
- 1 bay leaf
- ½ inch cinnamon stick
- 1 small black cardamom skip if you dont have
- ¼ teaspoon asafetida hing, skip if not available
- 3 cup water plus more if needed
- ½ teaspoon salt
For Tempering the lentils
- 1 medium onion
- 2 medium tomatoes
- 2 garlic cloves
- 1 tablespoon neutral oil
- 3 tablespoon butter
- ½ teaspoon cumin seeds
- 1 teaspoon kashmiri chili powder or paprika
- ½ teaspoon red chili powder or cayenne (hot) adjust to tolerance
- 2 tablespoon tomato sauce or tomato puree
- 2 inch ginger julienned
- ¾ teaspoon salt adjust to taste
- 1.5 teaspoon kasuri methi crushed, dry fenugreek leaves, available at indian grocery stores
- ⅛ teaspoon nutmeg powder freshly grated
- ½ teaspoon garam masala powder
- 2 tablespoon butter
- ⅓ cup heavy cream more or less depending on how creamy you want
Instructions
PRESSURE COOK THE LENTILS (This can be done a day ahead)
Soak the black urad lentils and kidney beans in enough water for atleast 12-18 hours. This lentil is pretty tough and depending on ambient temperature it might take up to 18- 24 hours for the lentils to soak properly.
Drain and add the soaked the dal and rajma to a pressure cooker along with water,chopped ginger & garlic, hing, salt, ghee, cinnamon and black cardamom.
Pressure cook the lentils on medium heat for 2-3 whistles, then reduce to low and let cook for about 10-15 minutes. Switch off the stove and then let the pressure release naturally.
Openthe pressure cooker lid. The lentils should hold shape, their skins slightly cracked and the grains tender(easily mushed). While the lentils are still hot, with the help of masher or back of a spoon, mash slightly. If you feel that the lentils are slightly tough to mash, pressure cook for another 1-2 whistles on medium.
TEMPER THE DAL
While the lentils are cooking, fire roast the onion, garlic and tomatoes. Roast till the skins are charred. I use a small perforated pan which can be used on stovebut you can roast them on the stove directly.
Once roasted,let cool and peel off the skin of onion & garlic. Blend with tomato to make a coarse paste without adding water. (This paste can be made a day ahead as well).
In a heavy bottom cooking pot orkadhai(indian wok), heat up the butter and oil on low heat. Crackle the cumin seeds. Add the kashmiri chilli powder and fry on low heat for a few seconds taking care not to burn.
Add the onion-tomato paste that we made earlier and tomato sauce(or tomato puree). Fry on low medium heat till you see oil seperating and the color darkening to deep red.
Now, add the lentils to the pot along with ginger julinnes. Taste and adjust the salt.Mix well.
SLOW COOK DAL MAKHANI
Add hot water before we set dal to slow cook.I add about ¾ cup water. Adjust depending on the desired consistency, however do not make it too runny.
Bring the dal to a slow boil and then reduce the heat to low. Let simmer for about 30-35 minutes. Stir from time to time while the dal is slow cooking. The lentils will thicken and the flavors will develop.
Once the lentils have slow cooked enough, finish withkasuri methi, garam masala,a little bit of freshly grated nutmeg, a few tablespoons of butter and heavy cream.
Let simmer on low heat (dont let boil after you've added cream) for another 10 -12 minutes.
Smoky flavor- Smoke the dal using dhungar method.Place a small bowl on top of dal. Heat up a piece of charocal over open fire. Place the hot coal in a bowl. Drizzle ghee over the hot charcoal. Immediately cover and let smoke for maximun 1-2 minutes else smoky flavor will get overpowering. It is similar to how I smoke dal bukhara.
Let the dal rest for atleast 30 minutes before serving. They get better as they sit.
Garnish with little heavy cream, chopped cilantro, green chillies or ginger (if desired) before serving.
Notes
5 TOP TIPS FOR BEST DAL MAKHANI
- Soak The Lentils - Soaking sabut urad dal and rajma softens their skin and they swell. This not only reduces the cooking time but also the lentils cook out creamier. I have never cooked unsoaked urad lentils and I don't recommend.
- Slow Cook & Simmer - Slow-cooking and simmering the lentils makes them develop creamy consistency naturally since the startches in the lentils slowly release. Slow cooking also allows the flavors of different spices that we add to blend togther in a cohesive way.
- Regular Stirring - Urad lentils tend to become sticky as they cook. Stirring the dal while it cooks helps prevents dal from sticking or scorching at the bottom of the pot. Secondly, stirring helps break down the lentils, creating a creamier consistency. You also get to feel and monitor the consistency of dal when you stir while it slow cooks.
- Don't go overboard on Onion & Garlic - The prominent taste in dal makhani should be that of dal. Too much onion and garlic can get overpowdering and mask the flavor of lentils. We want to use them to complement the flavor of the lentils. Also dont grind the onion or garlic else they become too strong.
- Be light handed with spices - A well made dal makhani is all about simplicity. Similar to onin & garlic, spices can also get overwhelming pretty easily and dominate the natural taste of lentils. We want a hint of spices in dal makhani.
Refer to the blog post for additional tips.
STORING & REHEATING
- Refrigerator: Cool down dal makhani to room temperature and transfer it to an airtight container. Consume the refrigerated dal within 3-4 days for best freshness.
- Freezing - If you wish to freeze dal makhani,dont add heavy cream. Cool down the dal completely, portion it and freeze using airtight containers or freezer bags for 3-4 weeks.
- Reheating -It is natural for dal to thicken as you store it. You can adjust the consistency using water or heavy cream.You may reheat over stove or in microwave. Heat over medium-low heat on stove, stirring occasionally. Add a dollop of butter or splash of heavy cream once hot. You could microwave for 20-30 seconds, stir 1-2 times in between. For frozen dal, add the frozen dal to a sauce pan, add ¼ cup water and heat up. Once hot, add heavy cream and butter to finish the dal.
Serving Ideas
- Serve dal makhani with indian flatbreads like soft and doughy naan or crisp charred tandoori rotis or flaky plain parathas.
- If you prefer rice, serve with plain steamed basmati rice, jeera rice, pulao or biryani.
- Accompainments - Serve sliced onions, papaddams, kachumber, garlic pickle, green chutney or raita for a hearty meal.
- Party Menu Idea - For a vegetarian indian feast, serve dal makhani with dishes like paneer biryani, shahi paneer korma and dum aloo
Nutrition
Calories: 294kcalCarbohydrates: 24gProtein: 9gFat: 19gSaturated Fat: 7gPolyunsaturated Fat: 3gMonounsaturated Fat: 8gTrans Fat: 1gCholesterol: 29mgSodium: 493mgPotassium: 285mgFiber: 8gSugar: 3gVitamin A: 763IUVitamin C: 14mgCalcium: 63mgIron: 3mg
Keyword makhanai dal, punjabi dal, slow cooked dal
Tried this recipe?Let us know how it was!
DalLentils