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