Dal Makhani Recipe – Rich North Indian Curry
Dal makhani is a traditional North Indian curry made with whole black lentils and kidney beans, simmered with a spicy onion-tomato base, and finished with cream or butter. Its taste is thick, creamy, and rich with authentic flavours. This dal makhani recipe is perfect for everyday lunch and dinner when paired with naan, roti, or lachha paratha. Follow the step-by-step instructions with photos below!

Table Of Contents
About Dal Makhani
Dal is a lentil sabut urad (black lentils), and makhni refers to cooking and serving with a lot of butter. This dal is a Punjabi dish that is easily available from restaurants to every indian home. If you are not familiar with this dal, you are missing one of the authentic flavours in your meals.
This creamy dal makhani starts with soaking, where the rajma and dal are soaked overnight to speed up the cooking process. After soaking, the dal and rajma were cooked with whole spices, salt, and water until soft and tender. Then simmer with onion and tomato spicy base until a thick consistency is achieved.
Once consistency is achieved, the main step is to add cream or butter. Cook with any of them until they dissolve properly and give a rich taste. I don’t use a cream for my dal makhani; instead, I use a lot of butter, which gives a homemade vibe and is also a healthy option.
The cooking process is completed here, but if someone wants a smoky flavour like dhabas and restaurants, then the dungur method is used. Dangur method in which a piece of coal is heated until red, then placed in a bowl with a tsp of ghee on it. Now cover the kadai with a steamer for 3 to 4 minutes.
The smoke is mixed with dal for these minutes; after that, remove it easily, and now your dal gives a restaurant vibe! I personally don’t like this method because no one in my home eats it; they like thier simple dal makhni with a lot of butter. It’s totally your choice, whichever you want to use them; easily go with it.
Growing up, I ate dal almost every day. If there is nothing to cook at home, everyone says to make a dal. No matter what kind of dal they like, all of that, sabut urad dal, chana dal, dal tadka, and obviously this one too. They mostly eat them with rice or phulka.
Why you’ll like this dal makahni
✓ Made using all simple pantry ingredients.
✓ Its rich and creamy flavour gives you an authentic Punjabi vibe.
✓ More flavorful than all the daily simple dals to change the taste.
✓ This homemade version is healthier than restaurant ones.
✓ Perfect for special occasions, festivals, and family lunches or dinners.
✓ Comforting, satisfying, and full of flavour in every bite.
Ingredients
- Black Lentils- I used a whole 1/3 cup of sabut urad dal.
- Kidney Beans- Small to large-sized beans are used, but I prefer to use the large ones, which is 1/4 cup.
- Water- used for boiling or cooking dal.
- Whole Spices- Bay leaf, cinnamon, and cloves are used in my recipes. Cardamom and black pepper are also used. They are optional; you can make without them too.
- Onion- Red or yellow medium chopped onion is good.
- Tomato puree- I make a mixture of two medium tomatoes in a mixer grinder. You can grate or chop them too. Choose any method.
- Spices- I have used turmeric powder, red chilli powder, coriander powder, and garam masala, which are enough for flavours. But asafoetida and nutmeg powder can also be added for more flavours.
- Salt- Regular white salt or rock salt can be used.
- Green chilli-Â use for some heat, but it’s optional if you are making it for children; skip this.
- Butter- I used homemade butter in this dal makhni. If you don’t have homemade, use salted or unsalted Amul butter for an authentic taste.
How to make dal makhani Recipe
1. Take 1/3 cup of black lentils and 1/4 cup of kidney beans (rajma) in a bowl. Wash them together in clean water and soak them overnight in enough water. After soaking them, they will look like the given picture below.

2. Now add the soaked lentils and beans to a pressure cooker.

3. Add a bay leaf, two cloves, a cinnamon stick, and 1/2 tsp of salt to it.

4. Pour 2 cups of water into it, mix all the ingredients well and close the cooker lid.

5. Now pressure cook for 6 to 7 whistles on high heat, then turn off the flame.

6. When the pressure is released naturally, open the lid and check the lentils and beans by pressing with your fingertips. If they are soft and easily pressed, it means they are well cooked; if not, cook again for 1 to 2 whistles.

7. Transfer the boiled lentils and beans to the strainer and store that water in a bowl for further use.

8. Heat 2 tbsp of ghee or butter in a kadai or heavy-bottomed pan on medium heat.

9. Add chopped onion to the heated ghee and sauté it.

10. Sauté them by stirring continuously until light golden; it takes 2 to 3 minutes.

11. Now add tomato puree to it and sauté until the raw smell of it is gone.

12. Season 1 tsp of coriander powder, 1/2 tsp turmeric powder, 1/4 tsp red chilli powder, 1/2 tsp salt, and 1 chopped green chilli.

13. Mix all the ingredients well and sauté until they release the ghee from the sides.

14. When it starts releasing ghee, it means they are completely sautéed. Now add boiled lentils and kidney beans to it.

15. Pour the stored water and 1.5 cups of plain water more.

16. Mix all the ingredients well, cover the steamer and start cooking on low heat.

17. Simmer it until the thick consistency is achieved by stirring at intervals so that the dal doesn’t stick to the bottom of the kadai.

18. When the thick consistency is achieved, add 1/4 tsp of garam masala, and if you want to add cream, add it here. It takes 25-30 minutes to achieve this consistency on low heat.

19. Mix them well and turn off the flame. If you want a smoky flavour, use the dungur method here; if not, serve it with 2 tbsp of homemade butter.

Serve this dal makhani hot with some butter or cream with naan or simple roti. You can pair it with jeera rice and flavorful masala chaas for a complete meal.

Pro Tips
» Soaking: Soak urad dal and rajma overnight for better texture and to speed up the cooking process. If you forget to soak them overnight, then soak them for at least 3 to 4 hours before cooking.
» Consistency: I have made this creamy dal makhani to a normal thick consistency. Not very thick or not very thin. The water ratio I have used for a normal thick texture is good enough. If you want it thinner, you can cook with extra water.
» Cooking: When you’re cooking the dal and rajma, add whole spices with them for better flavour. When making dal makhani, simmer it over low heat, stirring at intervals for the perfect consistency.
» Flavour: I have missed many things, but you can add them for extra flavour. Like ginger and garlic paste for a deeper taste, crushed kasuri methi while the cooking process is done, and some cream for a richer flavour.
» Serving: Use a small piece of butter and cream before serving for extra richness. Pair with onion slices or lemon wedges and cumin rice for a restaurant-style taste.
FAQs
1. Why is dal makhani called dal makhani?
Dal makhani gets its name from the word “makhani”, which means buttery, because the dal is rich and creamy.
2. Can I make dal in a vegan version?
Yes, swapping dairy cream with cashew cream or full-fat canned coconut milk. Instead of butter, use neutral oil for sautéing spices to make it vegan.
3. How do I make restaurant-style dal makhani?
To make it restaurant-style, slow-cook the dal for a long time and use cream or butter for a richer texture.
4. Which dal is used for dal makhani?
Whole black dal (black lentils) and rajma are mainly used for traditional dal makhani.
5. What goes best with dal makhani?
Naan, garlic naan, jeera rice, tandoori roti, lachha paratha, simple roti, and steamed rice pair well with dal makhani.

Dal Makhani Recipe – Rich North Indian Curry
Ingredients
For cooking dal and beans
- â…“ cup sabut urad dal
- ¼ cup kidney beans
- 1 bay leaf
- 1 cinnamon
- 2 cloves
- ½ tsp salt
- 2 cups water
For making dal makhni
- 1 tbsp butter/ghee
- 1 medium onion, chopped
- 2 medium tomato puree
- 1 chopped green chilli
- ½ tsp turmeric powder
- 1 tsp coriander powder
- ¼ tsp red chilli powder
- ¼ tsp garam masala
- ½ tsp salt
- 1½ cups water
- 2 tbsp butter for topping
Instructions
- Wash and soak the dal or kidney beans in enough water overnight.
- Before cooking, drain the water and add the soaked urad dal and kidney beans to a pressure cooker.
- Add salt, bay leaf, cinnamon, cloves, and 2 cups of water to it.
- Pour 2 cups of water into that and mix well.
- Now pressure-cook for 6 to 7 whistles on high heat; after that, turn off the flame.
- When the pressure is released, check that the lentils and beans are soft by pressing with your fingertips.
- Now transfer into a strainer and store the boiling water from that.
- Heat ghee in a kadai on medium heat.
- Add chopped onion and saute until golden.
- Now add tomato puree to the golden onions.
- Saute them until the raw smell of them is gone.
- Season with all spices, salt, and green chilli. Mix well with tomato puree and cook until the side of the masala releases ghee.
- When the ghee is released, add boiled lentils and kidney beans.
- Now add the stored water and an extra cup of water.
- Mix all the ingredients well, cover the kadai with a steamer, and cook on low heat.
- Simmer it on low heat until the dal has thickened.
- When the dal gets thickened, add garam masala powder.
- Mix well and turn off the flame.
- Serve it with 2 tbsp of butter as a topping with naan or roti.
Notes
- Soak the dal and rajma overnight to speed up the cooking process.
- Simmer the dal over a low flame for better texture.
- Add crushed kasuri methi and ginger-garlic paste for a deeper taste.
- Make with homemade butter or ghee for authentic richness.
- Before serving, add a small amount of butter for extra richness.