punjabi dal makhani

Punjabi dal makhani is a wondrously rich lentil curry from Northern India. This is the restaurant version. You can make it in ten minutes once your lentils are cooked. The traditional version can take a whole day.

Dal makhani is celebration food in India.  It’s rich. Creamy. Mildly spiced. Not an every day dish. I don’t think they even had a home cooked version originally.

It originated in Punjab. In the north of India. But it has spread throughout India. Now it’s everywhere. All around the world. And now you can make it at home.

Vegetarian main course or side dish

Dal makhani is a seriously hearty dish. It’s big enough to stand alone as a main course in a vegetarian meal. I’m not vegetarian. Not remotely so. But this is satisfying in a way that will make even the most carnivorous palates smile.

It’s incredible as a side dish too. Or part of a thali. But be sure to make your best main courses to go with it. Or it will steal the show.

Close-up of bowl of dal makhani.

Choice of lentils matter

I’m a big fan of lentils. All sorts. Beans in general. But dal makhani is about one or two specific lentils.

Urad dal is the backbone. It’s also known as black gram or black lentils. Not that hard to find. Any Indian grocer will stock them.

One thing to note. Urad dal takes forever to cook. I mean forever. Plan on it. Or use a pressure cooker. It’s amazing how long it takes these little lentils to soften. And you do want them soft. Toothy lentils are not good.

The other lentil often seen in dal makhani is rajma or red kidney beans. I like them too but I left them out of this recipe. It’s not easy to get two types of lentils done perfectly at the same time.

You could try cooking them separately if you really want both. But that is more work. And dal makhani is fantastic with just the black lentils. So I don’t usually bother.

Punjabi dal makhani in a small copper pot garnished with a red chili.

Restaurant style dal makhani

This version is restaurant style. Invented by restaurants for restaurants. And served in Indian restaurants everywhere. My spin on it adds a bit of chili. Just a bit. Not traditional. But I like it.

Restaurant style punjabi dal makhani is rich and buttery. Just the way they serve it in your favourite Indian restaurant.

Makhani means with butter. Lentils with butter. Sound good? It is. Start with ghee. Stir in some butter to finish. Throw in a bit of whipping cream to enrich. Not diet food. Party food.

Punjabi dal makhani may not be a dish you should have every day. Or every week. But when it’s time to feast you can do a lot worse.

Punjabi dal makhani in a small copper pot garnished with a red chili.
Print Pin
5 from 2 votes

punjabi dal makhani

Punjabi dal makhani is a mild, rich lentil curry worthy of the fanciest Indian meal.
Course Side Dish
Cuisine Indian
Prep Time 2 hours
Cook Time 15 minutes
Total Time 2 hours 15 minutes
Servings 6
Calories 274kcal
Author romain | glebekitchen


  • 1 cup whole urad dal - soaked overnight
  • 2 Tbsp ghee
  • 1 Tbsp garlic/ginger paste - recipe link below
  • 2 black cardamom whole, split
  • 1 2 inch piece cassia bark or cinnamon stick
  • 3 whole dried red chilies
  • 1 Tbsp Indian restaurant spice mix - recipe link below
  • 1 Tsp kasoor methi - crumbled between your fingers
  • 3 Tbsp tomato paste with enough water to dilute to the consistency of pasatta
  • 15 oz curry base - recipe link below
  • 2 Tbsp butter
  • 1/2 cup heavy cream (35%)
  • 1 tsp salt to taste


  • Pre-soak the urad dal, preferably overnight, in cold water. Cover them by about an inch with the water.
  • Simmer the lentils in 4 cups water until tender - this could be a couple hours. Urad dal takes forever.
  • Drain the lentils. Puree about 1/2 the lentils and return to the pot with the remaining whole lentils
  • Warm your curry base. 
  • Pre-heat a frying pan over medium heat. Add the ghee. 
  • Add the whole dried chilies, cardamom and cinnamon to the pan and let them sizzle for about 15 seconds. The chilies will start to change colour.
  • Add garlic/ginger paste and cook until sizzling subsides.
  • Turn the heat down to medium low. Add the kasoor methi and cook 20 seconds.
  • Add the Indian restaurant spice mix and salt. Cook over medium low heat about 30 seconds.
  • Add tomato paste, increase heat to medium and cook until oil separates and craters form.
  • Add 3 oz of the curry base. Raise heat and cook until craters form and oil separates.
  • Add 6 oz of the curry base and cook until craters form and oil separates.
  • Add another 6 oz of the curry base and cook until craters form and oil separates.
  • Simmer 5 minutes.
  • Return the pot with the lentils to the stove over medium low heat.. Add contents of the pan to the pot with the urad dal and stir to combine.
  • Mix in butter until melted.
  • Stir in heavy cream. Continue to heat until the dal makhani comes back to temperature.
  • Adjust salt to taste and garnish with a bit more cream (optional) and cilantro.


The recipe for curry base is here.
The recipe for indian restaurant spice mix is here
The recipe for garlic ginger paste is here.
If you haven't read about Indian restaurant technique yet, do that before you start cooking.
Have all your ingredients prepped and ready to go.
If you are making multiple curries, have your curry base warming in a pot on the stove. If you are just making one, microwave it to warm it up right before you start cooking.
Indian restaurants pre-cook their meat so it's ready for service. This recipe assumes the same. To pre-cook chicken, simply simmer it with a bit of curry powder and salt in chicken stock for about 10-15 minutes - until it's barely cooked.
To pre-cook lamb or beef, do the same but plan for 1 to 1/2 hours for lamb and 2 hours or more for beef. You are making stew meat so you are braising until tender. You will need to keep an eye on the level of the stock. For beef use beef stock.


Serving: 6servings | Calories: 274kcal | Carbohydrates: 20g | Protein: 9g | Fat: 16g | Saturated Fat: 10g | Cholesterol: 50mg | Sodium: 556mg | Potassium: 172mg | Fiber: 7g | Sugar: 1g | Vitamin A: 675IU | Vitamin C: 3.5mg | Calcium: 43mg | Iron: 3.2mg

11 thoughts on “punjabi dal makhani”

  1. Can I ask a couple of questions; lid on or off whilst simmering ? I have Kashmiri Dried Red Chillies, would these be OK?

  2. One of my favorite Indian restaurants in Queens includes red kidney beans in their version of this. Think I’m going to try it. Thanks for all your fabulous recipes!

    • You are very welcome. Hope you enjoy it! Remember – urad dal takes forever to cook. Give it the time it needs…

    • Thank you.
      So pleased i found this site.
      I’ve made lots of the Indian recipes – all amazing (favourites so far Butter Chicken and Rogan Josh)

  3. 5 stars
    Dal makhani is really a favorite to our culture. I love the indian restaurant technique you mentioned. Really nice that you share it with us. Looking forward for more such recipes. Thank you.


Leave a Comment

Recipe Rating

This site uses Akismet to reduce spam. Learn how your comment data is processed.