Indian Dal Makhani: The Ultimate Creamy Black Lentil Curry
If there is one dish that defines the soul of North Indian cooking, it is Dal Makhani. Born in the kitchens of Punjab and immortalized by the legendary Moti Mahal restaurant in Delhi — the same place credited with popularizing butter chicken — this dish is an ode to patience, richness, and the transformative magic of slow heat. "Makhani" literally means "buttery" in Hindi, and every single bite delivers on that promise. Glossy, deeply spiced, and impossibly creamy, Dal Makhani is weeknight comfort food elevated to fine-dining status.
Unlike many quick lentil dishes, authentic Dal Makhani is built on whole black urad dal (black gram lentils) and kidney beans that are soaked overnight, simmered for hours, and finished with a generous hand of butter and fresh cream. The long cook time is not a luxury — it is the secret. The lentil skins slowly break down, releasing their natural starch and creating that signature velvety body that no shortcut can replicate. This recipe respects those traditions while giving you practical, reliable guidance so you can recreate it confidently in your own kitchen.
What Makes Dal Makhani So Special?
Dal Makhani stands apart from other lentil dishes because of three non-negotiables: whole black urad dal, a slow and smoky simmer, and the finishing touch of real butter and cream. The black lentils have an earthy, almost mushroom-like depth that red or yellow lentils simply cannot match. When combined with the tang of tomatoes, the warmth of whole spices bloomed in ghee, and the richness of dairy, the result is a dish with extraordinary complexity — savory, slightly smoky, a little sweet, and deeply satisfying. In Punjabi households, a pot of Dal Makhani is often started in the evening and left to simmer overnight on the lowest possible flame, known as "dum" cooking. We'll capture that same magic with a long, low simmer on the stovetop or a slow cooker.
Ingredients
For the Lentils
Ingredients
For the Makhani Gravy
Ingredients
To Finish
Ingredients
Step-by-Step Instructions
- Soak the lentils and beans: The night before, rinse the black urad dal and kidney beans thoroughly, then cover with plenty of cold water and soak for at least 8 hours, or overnight. Drain and rinse well before cooking.
- Cook the lentils: Transfer the soaked dal and beans to a pressure cooker with 4 cups of fresh water and 1 tsp salt. Pressure cook on high for 25–30 minutes (or about 20 whistles), until the lentils are completely soft and a kidney bean crushes easily between your fingers. If using a regular pot, simmer covered for 60–90 minutes, adding water as needed. Reserve all the cooking liquid.
- Build the masala base: In a large, heavy-bottomed pot or Dutch oven, melt the ghee over medium heat. Add the cumin seeds, green cardamom pods, black cardamom pod (if using), and bay leaf. Let them sizzle for 30–45 seconds until wonderfully fragrant — you'll smell the spices bloom.
- Sauté the aromatics: Add the diced onion and cook over medium heat, stirring occasionally, for 12–15 minutes until deeply golden. Do not rush this step — well-caramelized onions are the backbone of the flavor. Add the garlic and ginger and cook for another 2 minutes.
- Add the tomatoes and spices: Pour in the crushed tomatoes. Add the Kashmiri chili powder, ground coriander, and ground cumin. Stir well and cook over medium heat for 10–12 minutes, stirring frequently, until the masala thickens, the oil begins to separate from the tomato paste, and the whole pot smells intoxicating.
- Combine and slow simmer: Add the cooked lentils and beans along with all their cooking liquid into the pot. Stir everything together thoroughly. Bring to a gentle boil, then reduce the heat to the lowest setting. Partially cover and let the dal simmer gently for at least 45 minutes — ideally 1.5 to 2 hours — stirring every 15–20 minutes and adding a splash of water if it gets too thick. The longer it simmers, the better it gets.
- Finish with butter and cream: About 10 minutes before serving, stir in the 2 tablespoons of butter and the heavy cream. Crush the dried fenugreek leaves between your palms and stir them in — this is the secret ingredient that gives Dal Makhani its distinctively restaurant-style aroma. Add garam masala, taste and adjust salt. Simmer gently for a final 5–10 minutes.
- Serve: Ladle into bowls, swirl with a little extra cream, garnish with fresh cilantro, and serve hot with warm naan, butter roti, or steamed basmati rice.
Pro Tips & Variations
- The longer, the better: If you have time, simmer the dal for 3–4 hours on the lowest flame. The texture becomes silkier and the flavor dramatically deeper. Alternatively, use a slow cooker on LOW for 6–8 hours after combining the masala and cooked lentils.
- Don't skip the kasuri methi: Dried fenugreek leaves (kasuri methi) are widely available at Indian grocery stores and online. They add a subtle bitterness and complexity that is truly irreplaceable in this dish.
- Mash for texture: Use the back of your ladle to mash about a quarter of the lentils against the side of the pot during cooking. This thickens the dal naturally without any added starch.
- Make it vegan: Substitute ghee with coconut oil or a neutral vegetable oil, replace butter with a good vegan butter (like Miyoko's), and swap heavy cream for full-fat coconut cream. The result is still luxuriously rich.
- Smoky dhungar effect: For an authentic tandoor-like smokiness, place a small piece of natural charcoal directly on a flame until red hot, set it in a small steel bowl placed in the center of the dal, drizzle with a little ghee, and immediately cover the pot tightly for 3–4 minutes. Remove and discard the charcoal before serving.
Storage & Make-Ahead Notes
Dal Makhani is one of those magnificent dishes that genuinely tastes better the next day as the flavors meld and deepen overnight. Store leftovers in an airtight container in the refrigerator for up to 4 days. Reheat gently on the stovetop over low heat, adding a splash of water to loosen it back up, and finish with a small knob of butter for freshness. Dal Makhani also freezes beautifully for up to 3 months — freeze in individual portions for an effortless weeknight dinner. For make-ahead entertaining, cook the entire dish a day in advance and refrigerate; simply reheat and stir in a fresh drizzle of cream just before serving.
Frequently Asked Questions
Absolutely! If you don't have a pressure cooker, simply soak the lentils and beans overnight (this step is essential), then simmer them in a covered pot with plenty of water for 60–90 minutes until completely tender. An Instant Pot works wonderfully too — cook on HIGH pressure for 25 minutes with a natural pressure release.
Whole black urad dal (also called black gram or sabut urad) is the specific lentil used in Dal Makhani. Unlike split red or yellow lentils, it has a thick skin and a dense, earthy, almost creamy interior. It takes much longer to cook but delivers a uniquely rich, starchy body that makes Dal Makhani's signature texture possible. Do not substitute with other lentil varieties — the result will be a very different dish.
Both are readily available at any Indian or South Asian grocery store. You can also find them online through Amazon or specialty spice retailers. In a pinch, some larger supermarkets carry them in the international foods aisle. Kasuri methi (dried fenugreek leaves) may be labeled as "methi leaves" — just make sure it's the dried leaf variety, not fenugreek seeds.
Yes, it's easy to make a delicious vegan version! Replace the ghee and butter with a neutral oil or good-quality vegan butter, and substitute the heavy cream with full-fat coconut cream or cashew cream. The dish will still be wonderfully rich and creamy. Many Indian restaurants actually offer a vegan version on their menus.
Restaurant-style Dal Makhani has two secrets: time and fat. First, it is simmered for many hours — sometimes overnight — which breaks down the lentil skins and creates that ultra-silky texture. Second, restaurants are very generous with butter and cream. For the creamiest result at home, simmer as long as possible on the lowest heat, mash a portion of the lentils against the pot wall, and don't be shy with the finishing butter and cream.
Yes, canned kidney beans work as a shortcut. Drain and rinse one 400g can and add them directly to the pot along with the cooked black urad dal. However, the black urad dal still needs to be soaked and fully cooked from dried — there is no canned substitute that replicates its texture. Using canned rajma simply saves you from soaking those beans separately.
Dal Makhani pairs beautifully with warm butter naan, tandoori roti, or plain paratha for scooping. It is equally wonderful served over steamed basmati rice or jeera rice (cumin rice). For a full North Indian spread, serve it alongside a fresh cucumber-tomato salad (kachumber), pickled onions, and a dollop of plain yogurt.
You might also like

S'mores Bars: The Gooey, No-Campfire Treat You'll Make on Repeat

Stuffed Pizza Muffins: The Easy, Cheesy Snack Everyone Will Love

Crockpot Chicken Noodle Soup: The Easiest Comfort Food You'll Ever Make

Flower-Shaped Mini Lemon Curd Tarts That Look as Good as They Taste

