How to make dal makhani

Joe Yonan

THE WASHINGTON POST – Why is dal makhani so beloved? To Nik Sharma, author of the gorgeous new book The Flavour Equation, it comes down to one thing.

“It’s such a comforting texture,” said Sharma, a molecular biologist turned food writer. “It’s smooth, it’s velvety, it’s creamy, and when you bite into the beans, they’re falling apart. It’s so relaxing, at least for me.”

Dal makhani, is made from whole black urad beans, aka black gram or black matpe beans. They’re sometimes mistakenly called black lentils, but they’re not lentils at all and are instead more closely related to mung beans.

Why black urad beans? Because they, much more than other beans, release a “mucilage” that contributes to the silky texture of the dal. For that reason, you can’t make true dal makhani with any other bean. It sometimes includes a smaller amount of red kidney beans (aka rajma), but they’re optional – and, in fact, can sometimes cause trouble with the recipe, because even after soaking and using a pinch of baking soda to speed the cooking along, they can stay stubbornly firm while the urad softens.



Active time: 30 minutes | Total time: One hour 30 minutes (plus eight hours soaking time)

Four to six servings


One cup whole urad beans with skin

Four cups water, plus more for soaking

1/8 teaspoon baking soda

One medium (10 ounces) white onion, cut into chunks

Six cloves garlic, peeled and smashed

One (two-inch) piece fresh ginger, peeled and cut in half

Four tablespoons ghee or unsalted butter, divided (may substitute extra-virgin olive oil)

One teaspoon garam masala

1/2 teaspoon ground turmeric

1/4 cup tomato paste

One teaspoon fine sea salt, plus more to taste

1/4 teaspoon cayenne powder

Two tablespoons heavy cream or crème fraîche (may substitute nondairy yogurt)

Two tablespoons loosely packed chopped fresh cilantro leaves, for garnish (optional)


Pick through the beans and discard any dirt or stones, then transfer to a medium bowl and rinse under running water. Add enough clean water to cover the beans by one inch and soak overnight (eight to 12 hours). Drain.

In a medium saucepan or Dutch oven over high heat, combine the beans with the four cups water and baking soda. Bring to a rolling boil, then lower the heat to a simmer, cover, and cook the beans until they are tender and almost falling apart, 30 to 45 minutes. Transfer the beans with their liquid to a large bowl. Rinse the saucepan and wipe it dry.

Combine the onion and garlic in a blender. Chop half the ginger, add it to the blender and pulse until it forms a smooth paste. (If needed, add a bit of the liquid from the dal to the blender to help things move around.)

Return the saucepan or Dutch oven to medium-high heat, and melt two tablespoons of the ghee. Add the garam masala and turmeric and cook, stirring, until the spices release their aroma, 30 to 45 seconds. Add the tomato paste and cook until darkened, one to two minutes. Reduce the heat to medium-low, stir in the onion mixture and cook, stirring occasionally, until most of the liquid has cooked away and the ghee has started pooling in spots, 10 to 15 minutes. Add the cooked beans and their liquid and stir in the salt and cayenne. Taste, and add more salt if needed.

Increase the heat to high and bring the mixture to a boil. Cook at a boil for a few minutes, stirring occasionally to prevent the beans from sticking to the bottom of the pan. Reduce the heat to a gentle simmer and cook an additional one to two minutes. Stir in the cream and remove from the heat.

Cut the remaining ginger into matchsticks. In a small saucepan over medium-high heat, melt the remaining two tablespoons ghee. Add the remaining ginger and fry until the ginger starts to turn golden brown, about one minute. Pour the fried ginger and ghee over the dal. Garnish with the cilantro, if using, and serve hot.