
This Dal Makhani recipe gives you the exact same silky, deep-flavoured dal you get at a good Punjabi restaurant — made at home, at a fraction of the cost. It is one of the most beloved dishes in North Indian cuisine, and once you understand its one true secret (time on low heat), you will make it on repeat.
Dal Makhani is made from whole black lentils (sabut urad dal) slow-cooked with butter, cream and a rich tomato-onion base. Unlike most dals that are quick to cook, a proper Dal Makhani needs patience. The overnight soak, the long simmer, and the generous butter are non-negotiable.
What Is Dal Makhani?
Dal Makhani — literally “buttery lentils” — was created at Moti Mahal restaurant in Delhi in the 1950s by Kundan Lal Gujral, the same chef who gave us Butter Chicken. The original recipe cooked urad dal overnight in a tandoor on dying coal embers. That 8–12 hour slow cook is the origin of everything that makes this dish special.
The dish is also called Maa Ki Dal (mother’s dal) in Punjabi households, where it was traditionally left to cook overnight on a wood fire. The urad dal breaks down slowly, releasing its natural starches, which gives the gravy that characteristic thick, creamy body — without any cornflour or thickener.
Today it is the most-ordered dal at North Indian restaurants across India and a fixture at every Punjabi wedding menu.

Ingredients and Why Each One Matters
Whole black urad dal (sabut urad dal) — Do not use split urad dal. The whole dal retains its husk, which gives Dal Makhani its characteristic dark colour and earthy depth. Split dal will give you a different dish entirely.
Rajma (kidney beans) — Only a small quantity (3 tbsp) is used. They add body and a slight sweetness that rounds out the earthy urad dal. If you do not have rajma, the dish still works without it — but it will be slightly less complex.
Time on low heat — This is the single most important ingredient. The long simmer breaks down the lentil starches into the liquid, creating a naturally creamy texture. Rushing it on high heat gives you a different, coarser texture. Minimum 45 minutes simmer; 2–3 hours is better.
Kasuri methi — Added at the very end, crushed between the palms. This is what makes the dal smell and taste “restaurant-style.” Never skip it.
Butter — Used in two stages: to build the masala base, and stirred in at the end for richness and gloss. Do not substitute with oil for the final addition — butter is the defining flavour here.
Dal Makhani Recipe — Step by Step
Step 1 — Soak Overnight
Measure 1 cup whole urad dal and 3 tbsp rajma into a bowl. Wash under cold water 3–4 times until the water runs clear. Cover with 4 cups of fresh cold water and soak for a minimum of 8 hours, ideally overnight. The dal will roughly double in volume.
Why soak? Soaking softens the outer husk and reduces pressure cooking time from 40+ minutes to 6–7 whistles. It also reduces compounds that cause bloating.
Step 2 — Pressure Cook
Drain and rinse the soaked dal. Add to a 3-litre pressure cooker with 3 cups of fresh water and 1 tsp salt. Cook on medium heat. After the first whistle, reduce to low-medium heat and cook for 6 more whistles. Turn off the heat and let the pressure release naturally — do not force-release, as the dal needs to steam inside.
Open and test: a grain of dal pressed between your fingers should break with no resistance and feel almost creamy inside. If it is still firm, add ½ cup water and cook 2 more whistles.
Step 3 — Build the Makhani Masala
Heat 2 tbsp butter and 1 tbsp oil in a heavy-bottomed pan (a cast iron kadai is ideal). Add onions over medium heat. Cook for 10–12 minutes, stirring occasionally, until they are a deep golden-brown colour. Pale onions mean an under-cooked, sharp-tasting masala — golden onions are sweet and deep.
Add ginger-garlic paste and cook 2 minutes. Add tomato puree, Kashmiri red chilli powder, coriander powder, cumin powder, and turmeric. Cook for 12–15 minutes, stirring regularly. You will see the oil begin to separate at the edges — this is the signal that the masala is ready and properly cooked.
Step 4 — Combine Dal and Masala
Add the cooked dal along with all its cooking liquid into the masala pan. Stir well. Using the back of a spoon, roughly mash about one-quarter of the lentils against the side of the pan. This releases their starch directly into the gravy and thickens it naturally. Add ½ cup of water and stir through — the consistency should be thick but pourable at this stage. It will thicken further as it simmers.
Step 5 — The Long Simmer
This is the step that separates home dal makhani from restaurant dal makhani. Reduce heat to the lowest setting. Partially cover the pan (leave a gap for steam to escape). Simmer for at least 45 minutes, stirring every 10 minutes and scraping the bottom to prevent sticking. Add a splash of water whenever the dal becomes too thick.
If you have 2–3 hours, keep it going. The colour deepens from brick-red to a rich dark burgundy. The flavour becomes progressively rounder, deeper and more complex. This is the Dum cooking principle — low and slow.

Step 6 — Finish with Butter and Cream
When the dal has reached the consistency and colour you want, stir in 2 tbsp butter and fresh cream. Crush kasuri methi between your palms over the pan. Add garam masala. Taste and adjust salt — remember the butter and cream both add richness, so you may need slightly more salt than expected. Simmer on low for 5 more minutes. The finished dal should coat a spoon thickly, be glossy from the butter, and smell of kasuri methi.
Step 7 — Serve
Ladle into serving bowls. Add a swirl of cream in the centre, a small knob of butter that will melt on top, and a scattering of fresh coriander leaves. Serve immediately with butter naan, tandoori roti or steamed basmati rice.
Tips for the Best Dal Makhani
- Use a heavy-bottomed pan — the long simmer on a thin pan will scorch the bottom. A cast-iron kadai or thick-bottomed stainless steel pot works best
- The ratio matters — 1 cup urad dal to 3 tbsp rajma is the classic proportion. More rajma makes it sweeter and lighter; less makes it earthier and darker
- Do not skip the partial mashing — 20–25% mashed lentils create natural body; more than 50% makes it too smooth and paste-like
- Salt in stages — add salt to the dal while cooking, and re-taste after adding cream and butter, which dilute the salt level
- The overnight version — for the truest restaurant result, cook the dal to Step 5, let it cool overnight, then reheat on low heat the next day. The resting time develops the flavour further
Variations
Smoked Dal Makhani (Dhungar method) — This replicates the tandoor smoky flavour at home. Once the dal is finished cooking, place a small steel bowl in the centre of the pot. Put a live piece of charcoal in the bowl, pour 1 tsp ghee over it, and immediately cover the pan tightly for 3–4 minutes. Remove the bowl — the dal will have absorbed the smoke. This is the single biggest upgrade you can make.
Vegan Dal Makhani — Replace butter with vegan butter or coconut oil, and cream with thick coconut milk. The result is slightly different in flavour but still deeply satisfying. Use full-fat coconut milk to maintain the richness.
Instant Pot / Electric Pressure Cooker — Use the Bean/Chili setting (high pressure) for 35 minutes for the pre-soaked dal. Then switch to Sauté mode on low for the long simmer — minimum 30 minutes, stirring regularly. The result is excellent but will not have quite the same depth as stovetop dum cooking.
Storage and Reheating
Dal Makhani is one of those dishes that genuinely improves the next day as the flavours meld and deepen overnight.
- Refrigerator — in an airtight container for up to 5 days
- Freezer — freeze in portions for up to 3 months; thaw overnight in the fridge
- Reheating — add 3–4 tbsp water and reheat gently on the stovetop over low heat, stirring to prevent sticking. Finish with a fresh knob of butter before serving — this revives the gloss and richness that dulls in the fridge
What to Serve with Dal Makhani

- Butter Naan — the definitive pairing; the soft, buttery naan is perfect for scooping the thick dal
- Tandoori Roti — slightly charred whole wheat roti is a healthier, equally good option
- Steamed Basmati Rice — the clean, fragrant rice contrasts beautifully with the rich, earthy dal
- Jeera Rice — cumin-infused rice adds another dimension without competing with the dal’s flavour
- Alongside Butter Chicken (see our full recipe) — the two were born in the same kitchen (Moti Mahal, Delhi) and remain the most classic combination on any North Indian restaurant menu
Frequently Asked Questions
Can I make dal makhani without a pressure cooker?
Yes, but it takes much longer. Boil the soaked dal in an open pot for 60–90 minutes until completely soft, adding water as needed. The rest of the recipe is the same. Total time will be 3–4 hours.
Why is my dal makhani not dark?
The dark colour comes from two things: deeply cooked (almost dark golden-brown) onion-tomato masala, and the long simmer. If your dal is pale orange-red, it means the masala was not cooked long enough or the simmering time was short. Both need more time on the heat.
Can I make dal makhani without cream?
Yes. Replace cream with 2–3 tbsp cashew paste (soaked cashews blended smooth) for the same richness, or simply omit it for a lighter version. The dal still tastes excellent without cream — just slightly less indulgent.
How long should I soak the dal?
Minimum 8 hours, overnight is ideal. If you have forgotten to soak, do a quick soak: cover the dry dal with boiling water and leave for 2 hours. The pressure cook time will increase to 9–10 whistles instead of 6–7.
Why does restaurant dal makhani taste different from home-made?
Three reasons: restaurants use much more butter (some use up to 6 tbsp per serving), they cook it for 8–12 hours instead of 45 minutes, and many use a tandoor or live charcoal for a smoky undertone. The Dhungar smoking technique described in the Variations section above is the closest home approximation.
Is dal makhani healthy?
Urad dal is an excellent source of protein (14g per serving), fibre (8g), iron and magnesium. The butter and cream add saturated fat, which can be reduced by using half the butter and replacing cream with low-fat yogurt. Even the full-fat version is nutritionally balanced as a meal with roti or rice.






























