Cooking This Dal Makhni for 20 Hours Sounds Like a Lot, but I Promise It’s Worth It

The process imparts a creamy texture to the lentils without needing butter or cream

Photo: Vrunda Satpanthi

Heading out the door? Read this article on the new Outside+ app available now on iOS devices for members! Download the app.

Let’s talk about dal makhni. Like, literally about the words “dal makhni.” Dal means lentils, which are obviously at the heart of this traditional North Indian stew. And makhni means butter – but I am here to tell you that butter is not the secret to a creamy, delicious dal makhni.

If you eat dairy, butter can be great in this dish, but it’s not essential. When done properly, the lentils themselves will take on a creamy texture once they are completely cooked. Your dal makhni can taste just as delicious if you use vegan butter, and you can either use a non-dairy cream such as coconut, or just omit the cream entirely.

Traditionally, the lentils would be cooked overnight in a tandoor, developing rich flavors. I simulate that process by slow cooking in an Instant Pot, and then finish the dish on the stove. If you can’t wait 20 hours for your dal to cook, I have also provided a short-cut version that takes just four hours on the stove, or you can use a pressure cooker (just cook the dal for six to seven whistles on your cooker). If you’re willing to be patient, however, I promise the slow cooked version really is worth it.

Typically, dal makhni is made with black gram lentils – also known as vigna mungo or black matpe beans – but you can also make this recipe with red kidney beans. Serve your dal makhni with rice or naan.

More Related Recipes to Try Next:
Mixed Vegetable Masala
Chickpea Tikka Masala
Vegetables Korma
Vegetable Samosas

bowl of dal makhni on a table with naan
Photo: Vrunda Satpanthi

Dal Makhni Recipe by Vrunda Satpanthi


For dal

  • 1/2 cup whole black gram dal
  • 1/2 cup tomato puree
  • 3 tablespoons butter
  • 1 teaspoon salt
  • 1 tablespoon fresh ginger, grated
  • 3 gloves of garlic, grated
  • 1 tablespoon Kashmiri red chili powder or paprika

For first tempering

  • 1 tablespoon ghee or oil
  • 1 teaspoon cumin seeds
  • 2 cloves garlic, grated
  • 1/8 teaspoon asafetida (optional)
  • 1 tablespoon dried fenugreek leaves or kasuri methi

For second tempering

  • 1 tablespoon butter or vegan butter
  • 1 tablespoon Kashmiri red chili powder or paprika

For garnish

  • 1 teaspoon garam masala
  • 2 - 3 tablespoons heavy cream or coconut cream (optional)
  • handful of cilantro leaves, roughly torn


1. In a bowl, add lentils and water. Using your hands, rub the lentils gently and drain out the water. Refill the bowl with clean water and soak the lentils for at least eight hours or overnight.

2. Cook the lentils using Instant Pot or stovetop method.

Instant Pot method (preferred): In an Instant Pot, add all the ingredients under the dal. Set your instant pot on slow cook mode for 20 hours. Check and stir the dal every five hours. If the dal needs additional cooking time, change the Instant Pot setting to pressure cook mode for 30 minutes. The dal should be well-cooked and easy to mash.

Stove top method: In a large pot or Dutch oven, add all the ingredients under the dal. Cook the dal on medium heat for at least four to five hours, or until the lentil is well-cooked. Keep stirring the dal occasionally, adding water if required.

3. After the dal is completely cooked, turn the heat on your cooking method to low. In the meantime, prepare the tempering. In a small saucepan, heat up some ghee or oil. Once hot, add cumin seeds, grated garlic and cook for a minute. Next, add in the asafetida, dried fenugreek leaves, and sauté for 30 seconds.

4. Pour the tempering into the dal.

5. In the same saucepan, prepare the second tempering. Start by melting the butter or vegan butter in the saucepan. Once melted, add in the red chili powder and immediately add the tempering into the dal. Mix well.

6. After mixing well, mash the dal slightly using a potato masher or the back of a spoon. Add salt to taste and adjust the thickness of the dal to your liking.

7. Add the garnish ingredients. If using cream, add in a swirl formation but do not fully stir into the stew. Sprinkle cilantro leaves on top. Serve with rice or naan.