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.

5 Top Tips for Best Dal Makhani

More Tips

Ingredients

Whole Black Urad Dal- 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.  Open the 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 stove but 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) or kadhai (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 with kasuri 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 - 68Punjabi Dal Makhani Recipe - 84Punjabi Dal Makhani Recipe - 84Punjabi Dal Makhani Recipe - 90Punjabi Dal Makhani Recipe - 71Punjabi Dal Makhani Recipe - 57Punjabi Dal Makhani Recipe - 81Punjabi Dal Makhani Recipe - 72Punjabi Dal Makhani Recipe - 46Punjabi Dal Makhani Recipe - 13Punjabi Dal Makhani Recipe - 37Punjabi Dal Makhani Recipe - 38Punjabi Dal Makhani Recipe - 39Punjabi Dal Makhani Recipe - 18Punjabi Dal Makhani Recipe - 37Punjabi Dal Makhani Recipe - 55Punjabi Dal Makhani Recipe - 44Punjabi Dal Makhani Recipe - 24Punjabi Dal Makhani Recipe - 61