Back to Recipes
Daal Makhani recipe presentation
Dinner

Daal Makhani

Slow-cooked black lentils and kidney beans become creamy and smoky with butter, cream, tomato, and spices—a rich Punjabi comfort dish for sharing.

By TastyTrails Kitchen · Published · Updated

Jump to Recipe

Daal makhani is a Punjabi dish of whole black gram and kidney beans simmered until exceptionally soft, then finished with butter and cream. Its name means “buttery lentils,” and the best versions are thick, glossy, and deeply savory rather than watery. The dark, rustic daal is traditionally served in a bowl with cream, melted butter, cilantro, ginger, and a little red chili oil on top.

This version uses a pressure cooker for the beans, followed by a long uncovered simmer so the lentils break down and the flavors concentrate. Soaking overnight is essential for even cooking. For the smoothest texture, mash some of the lentils against the side of the pot as they simmer.

Ingredients

  • 1 cup (200 g) whole black gram, also called sabut urad dal, rinsed
  • 1/4 cup (50 g) dried kidney beans, rinsed
  • 6 cups (1.4 L) water, plus more for soaking
  • 2 tbsp (30 ml) neutral oil
  • 1 medium yellow onion, finely chopped
  • 1 tbsp (15 g) fresh ginger, grated
  • 6 garlic cloves, finely grated
  • 1 green chile, slit lengthwise
  • 1 1/2 cups (360 g) crushed tomatoes
  • 1 tsp (2 g) ground cumin
  • 1 tsp (2 g) ground coriander
  • 1/2 tsp (1 g) Kashmiri chili powder or mild paprika
  • 1/4 tsp (0.5 g) ground turmeric
  • 1 tsp (6 g) fine sea salt, plus more to taste
  • 1 tsp (2 g) garam masala
  • 1/2 cup (120 ml) heavy cream
  • 4 tbsp (56 g) unsalted butter, divided
  • 1 tbsp (15 ml) lemon juice
  • 2 tbsp (30 ml) heavy cream, for drizzling
  • 2 tbsp (28 g) unsalted butter, melted, for drizzling
  • 2 tbsp (8 g) chopped fresh cilantro
  • 1 tbsp (6 g) julienned fresh ginger
  • 1/4 tsp (0.5 g) crushed dried red pepper flakes

Instructions

  1. 1

    Combine the rinsed black gram and kidney beans in a large bowl with plenty of cold water. Cover and soak at room temperature for 8 hours or overnight; the beans should be visibly plump.

  2. 2

    Drain and rinse the soaked beans, then place them in a pressure cooker with 6 cups (1.4 L) fresh water. Cook at high pressure for 35 minutes, let the pressure release naturally for 15 minutes, and check that the beans crush easily between your fingers. If using a stovetop pot, simmer covered for 1 1/2 to 2 hours instead.

  3. 3

    Heat the oil in a heavy pot over medium heat. Add the onion and cook for 8-10 minutes, stirring occasionally, until deep golden and soft.

  4. 4

    Add the ginger, garlic, and green chile. Cook over medium heat for 1-2 minutes, until fragrant but not browned.

  5. 5

    Stir in the crushed tomatoes, cumin, coriander, chili powder, turmeric, and salt. Cook over medium heat for 10-12 minutes, stirring often, until thick and the oil begins to separate at the edges.

  6. 6

    Add the cooked beans and their cooking liquid to the tomato mixture. Bring to a gentle boil, then reduce the heat to low and simmer uncovered for 45-60 minutes, stirring every few minutes, until very thick and creamy. Mash about one-quarter of the beans against the side of the pot as they soften.

  7. 7

    Stir in the garam masala, cream, 2 tablespoons (28 g) butter, and lemon juice. Simmer gently for 5 minutes, then taste and adjust the salt; the daal should coat a spoon and look glossy.

  8. 8

    Ladle into a warm serving bowl. Swirl the remaining cream and melted butter over the top, then finish with cilantro, ginger, and crushed red pepper flakes. Serve immediately with naan or basmati rice.

Tips for the Best Daal Makhani

  • Do not skip the overnight soak: it shortens cooking time and helps the kidney beans cook evenly.
  • Keep the simmer gentle after adding the beans. A hard boil can make the bottom scorch before the daal becomes creamy.
  • For a smokier restaurant-style flavor, place a small piece of hot charcoal in a heatproof cup in the finished pot, drizzle it with 1/2 teaspoon oil, cover for 2 minutes, then remove the charcoal.
  • Heavy cream is traditional, but evaporated milk can replace it. Do not use coconut milk if you want the classic Punjabi flavor.
  • Daal makhani thickens as it cools. Loosen leftovers with a splash of water while reheating and add a small knob of butter before serving.
  • The cooked daal can be made one day ahead; its flavor improves overnight.

Storage and Reheating

Cool the daal within 2 hours and refrigerate it in an airtight container for up to 4 days. Freeze portions for up to 3 months, preferably before adding the finishing cream and garnishes. Reheat gently on the stovetop with a splash of water, stirring until steaming throughout.

Frequently Asked Questions

Can I make daal makhani without a pressure cooker?

Yes. Simmer the soaked black gram and kidney beans in fresh water, covered, for 1 1/2 to 2 hours, or until they crush easily. Add more hot water if needed during cooking.

What is the difference between daal makhani and dal tadka?

Daal makhani uses whole black gram and kidney beans and is slowly cooked with butter and cream. Dal tadka usually uses split lentils and is finished with a spiced oil tempering.

Why is my daal makhani not creamy?

The beans may need more cooking, or the daal may not have simmered long enough after combining with the tomato base. Continue cooking gently and mash some beans into the sauce.

Can I use canned beans?

You can use three 15-ounce (425 g) cans of drained black beans and one 15-ounce (425 g) can of drained kidney beans, but the texture will be less silky. Simmer them in the tomato base for at least 30 minutes.

Quick Info

Prep Time

20 min

Cook Time

155 min

Servings

6

Difficulty

Medium

Nutrition Facts

Per serving (estimated)

Calories390
Protein15g
Carbs48g
Fat16g

You May Also Like