Dal Makhani with Butter and Cream

Black lentils simmered slow, finished with smoke

Contents↓ Jump to recipe

The first time I ate proper dal makhani I was cross about it for a week. Mine had never tasted like that: this was glossy and dark, faintly sweet, with a depth that sat somewhere between a slow-cooked stew and melted chocolate. I had been treating it as a lentil dish you knock together on a Tuesday. The version in front of me had clearly been cooked by someone with more patience than I had ever shown a pan of pulses.

That is the secret, and it is an annoying one because you cannot fake it. Dal makhani is a lesson in time. The whole black urad lentils need hours of gentle heat to break their skins, thicken the liquid around them and turn creamy from their own starch long before any actual cream arrives. Rush it and you get a thin, grainy dal that tastes of raw spice. Give it an afternoon and something almost alchemical happens.

Dal Makhani with Butter and Cream

 Save
Serves6 servingsPrep30 minCook300 minCuisineIndianCourseMain course

Ingredients

  • 250g whole black urad dal (sabut urad)
  • 60g red kidney beans (rajma)
  • 1.5 litres water, plus more for topping up
  • 1 tbsp fine salt, plus more to taste
  • 80g unsalted butter
  • 2 tbsp neutral oil
  • 1 large onion, finely chopped
  • 1 tbsp ginger paste
  • 1 tbsp garlic paste
  • 2 green chillies, slit
  • 400g tinned chopped tomatoes, blended smooth
  • 1 tsp Kashmiri chilli powder
  • 1 tsp ground cumin
  • 1 tsp garam masala
  • 1/2 tsp ground fenugreek leaves (kasuri methi)
  • 120ml double cream, plus a swirl to serve
  • 1 small piece of lump charcoal (for smoking)
  • 1 tsp ghee (for smoking)

Method

  1. Soak the urad dal and kidney beans together in cold water overnight, or at least 8 hours.
  2. Drain, add to a large pot with 1.5 litres water and 1 tbsp salt. Bring to the boil, then simmer partly covered for 2 hours, topping up water and mashing occasionally, until the beans are collapsing.
  3. Melt 40g butter with the oil, fry the onion 12 minutes until deep gold, then add ginger, garlic and chillies for 2 minutes.
  4. Add the blended tomatoes, chilli powder and cumin; cook down 12–15 minutes until the fat separates.
  5. Stir the masala into the lentils and simmer very gently for a further 1.5–2 hours, stirring often.
  6. Smoke the dal: sit a small heatproof bowl in the pot, heat the charcoal until glowing, place it in the bowl, spoon over 1 tsp ghee, cover the pot for 90 seconds, then remove the bowl.
  7. Stir in the cream, remaining 40g butter, garam masala and crushed kasuri methi. Simmer 10 minutes, adjust salt, and serve with a swirl of cream.

Where the dish comes from

Advertisement

Dal makhani is younger than most people assume. It belongs to the Punjab, and specifically to the kitchens that scaled up in the middle of the twentieth century, when Kundan Lal Gujral and the Moti Mahal restaurants in Delhi and Peshawar were building a menu around the tandoor. The same lineage gave us butter chicken and the tomato-butter-cream axis that runs through so much North Indian restaurant food. Dal makhani was the vegetarian anchor of that world: a dish rich enough to hold its own next to charred meat, built to sit on the edge of a tandoor overnight and get better while nobody watched it.

The name tells you the intention. Makhani means buttery, and the dish is unapologetic about it. Older village cooking would have used far less fat and stretched the lentils to feed a family; the restaurant version leaned into richness because richness sells and because a slick of butter carries spice beautifully across the palate. What I love is that both versions are honest. You can cook this leaner at home and it is still lovely. But if you are making it properly, at least once, let it be as luxurious as it wants to be.

The base is a partnership. Whole black urad dal does the heavy lifting, and a smaller amount of red kidney beans, rajma, adds body and those occasional soft, meaty bites. The ratio matters. Too many kidney beans and the dish loses its silk; leave them out entirely and you miss the texture that makes dal makhani feel substantial rather than soupy.

The twist: a breath of smoke

Here is the one change I make that earns its keep. Restaurant dal picks up a smoky edge from hours near live charcoal, and you can borrow that at home with the dhungar method. You heat a lump of charcoal until it glows, sit it in a little bowl inside the pot, spoon over a teaspoon of ghee so it billows smoke, and clamp the lid on for ninety seconds. The dal drinks in that scent and suddenly tastes cooked over fire rather than on a hob.

It takes two minutes and transforms the dish. If you already smoke your own baingan bharta, you own everything you need. Do not leave the charcoal in longer than a minute and a half, though, or the smoke tips from fragrant into acrid and there is no coming back from that.

Making it

Soak the urad and kidney beans together overnight. This is not optional. Dry black urad can take an eternity to soften, and a proper soak cuts hours off the cooking and helps the skins break down into that creamy base.

Drain them, tip into a big heavy pot with the water and a tablespoon of salt, and bring to the boil. Then drop to the gentlest simmer you can manage, part-cover, and leave it for two hours. Stir every so often and mash a ladleful against the side of the pot each time you pass; this releases starch and starts the thickening. Keep a jug of hot water beside the hob and top up whenever it looks tight. You want the beans genuinely collapsing, not merely tender.

While that goes, build the masala. Melt half the butter with the oil and cook the onion slowly for a good twelve minutes until it is deep gold and sweet. Add the ginger, garlic and slit green chillies and let them lose their raw bite for a couple of minutes. Then in go the blended tomatoes, the Kashmiri chilli powder for colour and gentle heat, and the cumin. Cook this down hard, twelve to fifteen minutes, until it darkens and you see the fat pooling at the edges. That separation is your signal that the masala is cooked and the tomatoes have lost their tinny rawness.

Stir the masala into the lentils and settle in for the second act: another ninety minutes to two hours of the softest simmer, stirring often so the bottom does not catch. This long, slow marriage is where dal makhani earns its reputation. The colour deepens to a proper brown-black, the texture turns velvety, and the whole thing smells of a restaurant kitchen.

Now smoke it, as above. Then finish: stir in the cream, the remaining butter, the garam masala and the kasuri methi crushed between your palms to wake up its aroma. Give it a final ten minutes so everything settles, taste hard for salt, and serve with one more swirl of cream folded through at the last second.

What goes wrong, and why

The commonest failure is impatience. If your dal tastes thin and the spices feel sharp, it simply has not cooked long enough; there is no seasoning that fixes underdone lentils. Put it back on the heat.

The second is scorching. Once the masala is in and the mixture thickens, it will happily weld itself to the base of the pot if you stop stirring. Use your heaviest pan, keep the flame low, and stir right into the corners. A pressure cooker can shortcut the first boil to about forty minutes, which is a fair trade, but I still want that final slow simmer on an open pot afterwards for the flavour to develop.

Salt early with the beans and adjust at the end. Salt helps the lentils break down, and correcting at the finish means the butter and cream do not flatten the seasoning on you.

Substitutions and make-ahead

No charcoal? Skip the smoke; the dal is still very good, just gentler. A quarter-teaspoon of smoked paprika stirred in with the cream gives a hint of the same direction, though it is a different animal.

For a lighter version, halve the butter and use single cream or whole milk with a spoon of yoghurt whisked in at the end so it does not split. It will be looser and less decadent, and perfectly worth eating.

Dal makhani is one of those dishes that is frankly better the next day, so make it ahead without guilt. Cool it quickly, refrigerate for up to four days, and reheat gently with a splash of water, adding a fresh knob of butter as you warm it. It also freezes well for three months. Serve it with rice, with hot buttered naan, or alongside a paneer butter masala if you are feeding a crowd and want the full Punjabi spread. A plate of jeera aloo on the side keeps things from feeling too rich, and a bowl of plain yoghurt does the same job.

Make it on a slow Sunday, when the long simmer feels like company rather than a chore. That is exactly the mood the dish was invented in.

Advertisement
Advertisement
Fern
Written by Fern

vo.rs's resident home cook. A firm believer that the best recipes are the classics with one small, clever twist, Fern cooks the way most of us actually do: in a normal kitchen, on a normal weeknight, without a brigade of sous-chefs. Expect generous flavour, honest shortcuts and strong opinions about garlic.