Dal Makhani Recipe (Creamy Punjabi Black Lentils)

Dal makhani — creamy black lentils and kidney beans in a thick, buttery gravy

Whole black lentils and kidney beans, simmered low and slow until they turn velvety, then finished with butter and cream — this is the dal makhani restaurants charge too much for, made the patient way at home.

Dal makhani is Punjab's most famous lentil dish, and also its most misunderstood — the deep flavour doesn't come from a long ingredient list, it comes from time. Whole urad dal (black gram) and a handful of rajma (kidney beans) are simmered for hours until they break down into something closer to a thick, buttery stew than a soup.

What actually makes it taste right

Three things separate a good dal makhani from a thin, watery one: a proper overnight soak so the lentils cook evenly, a long simmer after the pressure-cooking step (this is where the real flavour builds, not in the cooker), and finishing with real butter and cream rather than stirring them in too early and letting them split under high heat.

Make it ahead

This dal is, if anything, better the next day — the flavours settle and the texture gets even creamier on reheating. Make a big batch, keep the butter-and-cream finish for just before serving each time, and it holds well in the fridge for 3-4 days.

Serving

Serve it with tandoori roti, naan, or steamed jeera rice, with a wedge of lemon and some thinly sliced onion on the side.

Common mistakes to avoid

  • Skipping the overnight soak — the urad dal and rajma end up uneven and grainy, and no amount of extra simmering fully fixes it.
  • Stirring in the cream too early, over direct heat — it splits. Add it off the heat or on the lowest simmer, right at the end.
  • Rushing the final simmer — 15-20 minutes after pressure-cooking isn't dal makhani, it's boiled lentils in tomato sauce. Give it the full 45 minutes uncovered.

Storage and reheating

Keeps 3-4 days in the fridge in an airtight container, and freezes well for up to a month — the texture actually improves on reheating as the starches keep breaking down. Reheat gently on the stovetop with a splash of water or milk to loosen it, and stir in the butter-and-cream finish fresh each time rather than freezing it in.

Frequently asked questions

Can I make dal makhani without a pressure cooker?
Yes — after the overnight soak, simmer the urad dal and rajma in a heavy pot for 2.5-3 hours until completely soft, topping up water as needed.

Is dal makhani the same as dal fry?
No. Dal fry is usually toor or moong dal with a quick tempering. Dal makhani is whole urad dal and rajma, built on a long simmer plus a butter-and-cream finish.

Can I make it vegan?
Yes — use a neutral oil or vegan butter, and finish with cashew or coconut cream instead of dairy. The texture will be a touch different but still rich.

Watch how it's made

Watch the full method step by step in the video below.

Method

  1. Soak and pressure-cook. Soak the urad dal and rajma together in plenty of water for at least 8 hours or overnight. Drain, then pressure-cook with 4 cups fresh water and 1/2 teaspoon salt for 6-7 whistles, until the lentils are completely soft and starting to break down. Lightly mash a few spoonfuls against the side of the pot with a ladle — this helps the dal thicken naturally later.
  2. Build the masala. Heat the ghee and half the butter in a heavy-bottomed pan. Add the chopped onion and cook until deep golden, about 8-10 minutes. Add the ginger-garlic paste and cook for another minute until the raw smell goes. Stir in the tomato puree, red chilli powder and turmeric, and cook until the oil separates at the edges, 8-10 minutes.
  3. Simmer, long and low. Add the cooked dal and rajma along with their cooking liquid. Bring to a simmer, then turn the heat down low and let it cook uncovered for at least 45 minutes, stirring occasionally and adding a splash of water if it gets too thick. The longer it simmers, the better it tastes.
  4. Finish. Stir in the garam masala, crushed kasuri methi and the remaining butter. Pour in the cream and simmer for another 5 minutes. Taste and adjust salt.
  5. Serve. Swirl in a little extra cream, scatter over the coriander, and serve hot with naan, tandoori roti or jeera rice.

More like this

Ratings & reviews

Sign in to rate or review this recipe.

  • No reviews yet. Be the first to review!

Comments

Sign in to leave a comment.

  • No comments yet. Be the first!
Dal Makhani Recipe (Creamy Punjabi Black Lentils) — RecipeKahani