Dal makhani – creamy black lentils Recipe
Dal makhani is a buttery Punjabi lentil and kidney-bean dish with a dense, spoon-coating sauce. This accessible version uses beluga lentils rather than traditional whole urad dal, so the lentils are cooked until very tender and partly mashed instead of being left firm. A well-reduced tomato base and a long final simmer give the butter, cream, and restrained spices time to meld without overstating the depth of an overnight-cooked dal.
Dal makhani is associated especially with Punjabi cooking in North India and is commonly prepared with whole black urad lentils, kidney beans, butter, and cream. Its name refers to its buttery character, and restaurant or celebration versions may simmer for many hours. Using beluga lentils and canned kidney beans is a practical adaptation, not an exact reproduction of the traditional pulse base.
Beluga lentils retain more definition than traditional whole urad, while partially mashed kidney beans and lentils supply the body they cannot create on their own. The result balances distinct pulses with a rich tomato-butter sauce rather than pretending the grains will become naturally velvety after a short simmer.
Why this version works
- The beluga lentils are cooked until crushably tender, not stopped while they are still firm enough to hold a perfect shape.
- Mashing part of the lentils and kidney beans releases starch and creates a thicker, more integrated sauce.
- Reducing the tomatoes until fat appears removes excess water and develops a rounder, less raw tomato flavor.
- A 45–60 minute final simmer gives the pulses time to absorb the butter, tomato, and spices.
- Beginning with 300 ml of cooking liquid, then adding more in measured increments, makes the final consistency easier to control.
Chef's tips
For the creamiest texture, mash the pulses only after they enter the tomato base, then continue simmering until the mashed portion disappears into the sauce. Judge thickness after the 10-minute rest: the dal will tighten as it stands, so leave it slightly looser than the desired serving consistency.
How to serve
Serve the dal very hot in warmed bowls, with the fresh coriander added at the last moment. Its rich, thick consistency is well suited to plain rice or warm Indian flatbread, and leftovers usually become fuller in flavor after resting overnight.
Watch out for
- Do not use 200 g of beans including the canning liquid; weigh or measure 200 g after draining.
- Firm beluga lentils will produce a loose, grainy dal, so cook them until they mash readily.
- Once the dal thickens, it can scorch quickly. Use a heavy pot, keep the heat low, and scrape across the entire base while stirring.
- Sweet paprika contributes color and mild warmth, not chile heat. This fixed spice list produces a gentler profile and does not include the chile or kasuri methi found in many other versions.
- After adding cream, keep the dal below a vigorous boil so the sauce remains smooth.
Substitutions
- For a more traditional texture, whole urad dal may replace the beluga lentils; soak it for 8–12 hours and allow roughly 60–90 minutes for the initial simmer, or cook until completely tender.
- Whole canned tomatoes can replace crushed canned tomatoes at the same weight if they are broken up thoroughly before cooking.
- If cream labeled exactly 30% fat is unavailable, use the closest full-fat pouring cream in the same quantity and maintain a very gentle heat.
Ingredients
- black lentils e.g. beluga, rinsed - 200 g
- red kidney beans from a can drained and rinsed - 200 g
- water - 800 ml
- butter - 40 g
- vegetable oil - 1 tablespoon
- onion finely chopped - 1 piece
- garlic finely chopped - 3 clove
- ginger freshly grated - 1 tablespoon
- canned tomatoes finely chopped - 400 g
- 30% cream - 100 ml
- garam masala - 1.5 teaspoon
- ground cumin - 1 teaspoon
- sweet paprika - 1 teaspoon
- bay leaf - 1 piece
- salt or to taste - 1 teaspoon
- fresh coriander chopped, for serving - 2 tablespoon
Preparation
- Rinse the black lentils in a fine sieve until the water runs nearly clear. Drain and rinse the kidney beans; the 200 g measurement refers to their drained weight. Finely dice one medium onion, about 150 g, mince the garlic, and finely grate the ginger.
- Put the lentils, bay leaf, and 800 ml water in a heavy pot. Bring to a boil, then lower the heat to maintain a quiet simmer and partially cover. Cook for 35–45 minutes, stirring occasionally, until the lentils are fully tender and crush easily between two fingers; they should not remain al dente. Keep all the cooking liquid.
- Meanwhile, heat the vegetable oil and 20 g of the butter in a second heavy pot over medium heat. Add the onion and cook for 8–10 minutes, stirring regularly, until soft and evenly golden at the edges rather than merely translucent.
- Add the garlic and ginger. Cook for 60–90 seconds, stirring continuously, until the raw aroma disappears but the garlic has not browned.
- Lower the heat slightly and stir in the cumin, sweet paprika, and garam masala. Fry for 20–30 seconds, just until the spices smell toasted and the butter begins to foam around them.
- Add the canned tomatoes and salt. Cook over medium-low heat for 12–15 minutes, stirring and scraping the bottom often. The tomatoes are ready when they have darkened slightly, a spoon drawn through the mixture leaves a trail for a moment, and small beads of fat appear around the edges.
- Add the drained kidney beans, the cooked lentils, and 300 ml of the lentil cooking liquid. Bring to a gentle simmer. Press roughly one-quarter of the lentils and beans against the side of the pot with the back of a spoon; this compensates for beluga lentils being less naturally creamy than whole urad dal.
- Simmer uncovered over very low heat for 45–60 minutes, stirring thoroughly every 5–7 minutes so the thickening dal does not catch. Add the reserved lentil liquid in approximately 50 ml additions whenever the mixture becomes too stiff. By the end, the beans should be suspended in a cohesive sauce rather than sitting in watery liquid.
- Turn the heat to its lowest setting and stir in the cream and remaining 20 g butter. Cook for 8–10 minutes at a bare simmer; vigorous boiling can dull the creamy texture. Remove the bay leaf, rest the dal for 10 minutes, and finish with the chopped fresh coriander.
Storage
Dal thickens in the fridge; when reheating, add a little water or milk and warm over low heat, stirring, until it becomes creamy again.
With beluga lentils, I favor tenderness over neat, separate grains. Letting some lentils split and deliberately mashing a portion produces a more convincing dal makhani texture than preserving every lentil intact.