Dal Makhani Recipe (Restaurant Style)
Dal Makhani is a healthy Indian recipe from North India. It is a vegetarian dish made with black lentils (urad dal) and kidney beans (rajma). This vegetarian Indian recipe is packed with protein and fiber, making it highly nutritious. This recipe uses fresh tomato puree, which is simmered with spices to create a rich and flavorful base without using any onions. Dal Makhani is cooked slowly with butter, cream, and aromatic spices to achieve a smooth, creamy texture and deep taste. If you want to learn how to make Dal Makhani at home, follow this recipe instructions that shows you how to make this restaurant-style creamy lentil curry easily. Serve the dish with naan, roti, or rice as an authentic Indian meal. Follow the steps in this recipe to prepare a delicious and easy version at home.

Ingredients and Substitutes
- Whole black lentils: This is the main ingredient. I use whole black lentils for their rich, creamy texture when slow-cooked. If unavailable, you can substitute with split urad dal, though the texture will be slightly lighter.
- Kidney beans: Rajma adds body and variation in texture. I soak them overnight with the urad dal. If you don’t have them, you can skip or use chickpeas for a different but hearty twist.
- Red chili powder: Adds heat and color. I often use Kashmiri red chili for a mild kick and deep red hue for the tadka (tempering). For less spice, use paprika; for more, try cayenne.
- Garlic paste: Garlic gives a deep, savory base. I prefer fresh paste, but 2–3 minced cloves or ¼ tsp garlic powder can also work. Freshly grated ginger and garlic are perfect, but ready-made paste or even ginger-garlic combined paste works well.
- Cinnamon Stick: Adds warmth and depth in dal. If you’re out, skip it or use a pinch of cinnamon powder.
- Cloves: These add subtle spice and aroma. If missing, just skip the other whole spices will still bring good flavor.
- Green Cardamom: Adds a floral note. If you don’t have it, black cardamom (for a smokier tone) or a pinch of cardamom powder can be used.
- Bay leaf: I use bay leaf to enhance the base aroma. You can leave it out if unavailable — the dish will still be delicious.
- Tomatoes (300-400 gm): Tomatoes add acidity and richness. I blend ripe ones at home, but canned tomatoes or store-bought puree work fine.
- Ghee or Cooking Oil: Ghee adds richness and aroma. I use it for that authentic taste, but you can substitute unsalted butter or any neutral oil like sunflower or canola.
- Salt: Adjust based on taste. You might need less if you’ve already added salt earlier during boiling.
- Fresh cream or milk cream: Cream gives Dal Makhani its signature richness. I use homemade malai or store-bought heavy cream, but you can also use full-fat milk with a spoon of butter if needed.
- Butter: Adds silkiness and balances the spices. For a vegan version, try plant-based butter or more oil.
- Dried fenugreek leaves: I crush fenugreek leaves and add at the end for aroma. If unavailable, you can skip this ingredient.
- Garam masala: I add this toward the end for a final burst of warmth and complexity. If you don’t have it, use curry powder or a mix of cumin, coriander, and clove powders.
- Green chilies: These add fresh heat. I slit them and simmer in the curry. Adjust quantity or deseed for less spice. You can skip or use chili paste for convenience.
- Cream for Garnishing: A final swirl of cream over dal makhani gives it a beautiful finish. You can also garnish with butter or fresh coriander instead.
How to make Dal Makhani (Step-by-Step photos)
Soaking the Lentils
1. Start by taking a bowl and adding 1 cup whole black lentils and ¼ cup kidney beans. Pour water over them, wash thoroughly, rinse, and drain well.

2. For best results, rinse the lentils and beans under running water 2–3 times until the water runs clear. Then soak them together in 4 cups of fresh water for at least 8 hours or overnight. This extended soaking helps them soften and cook faster, resulting in a creamier texture.

Cook the Lentils and Beans
3. Heat a pressure cooker and the following ingredients:
- 1 cup black lentils (sabut urad dal), soaked overnight and drained
- ¼ cup kidney beans (rajma), soaked overnight and drained
- 4 cups water (for pressure cooking the lentils and rajma)
- 1½ teaspoons salt (or to taste)
- 1 teaspoon red chili powder (adjust to taste)
- ½ teaspoon garlic paste
- 1 small stick of cinnamon (about 1 inch)
- 4 cloves
- 1 green cardamom pod
- 1 bay leaf
Cook on high flame for 20 minutes until lentils are soft and cooked through. If you are using a regular pot, cook on low heat for 60-70 minutes, stirring occasionally, until they become soft and creamy.

Make Tomato Puree
4. Take 300–400 grams tomatoes and blend them into a smooth puree using a blender.

Mash the Cooked Lentils
5. Once the pressure releases naturally, open the cooker. Check if the lentils are soft. Mix and mash the cooked lentils using a wooden masher to make them smooth and creamy.

Prepare the Tempering
6. To prepare the masala or tempering for Dal Makhani, take a deep pan or wok and add ⅓ cup clarified butter (ghee) or oil. Heat it, then add 1 teaspoon garlic paste and 1 teaspoon ginger paste. Sauté until they turn slightly golden brown.

Cook the Tomato Gravy
7. Add the tomato puree, salt and 1 tsp red chili powder to the pan. Boil the mixture for about 5 minutes, stirring occasionally.

Mix Dal with Tomato Gravy
8. Add the mashed lentils to the tomato mixture in the pan and mix well. Add hot water as needed to adjust the consistency. Cover with a lid and cook on low heat for 15–20 minutes, stirring occasionally. This slow cooking allows the flavors to blend.

9. Remove the lid and stir again until fully cooked. At this stage, the dal will have thickened slightly and developed a rich, creamy texture as the flavors meld perfectly.

10. Remove the lid and add the following to the dal:
- 1/3 cup fresh cream (or milk cream)
- 2 tablespoons butter
- 2 teaspoons crushed dried fenugreek leaves (kasuri methi)
- 1 teaspoon garam masala
- Additional salt, if needed
Mix well, cover again, and cook for another 10 minutes.

11. After cooking, mix well and check if the dal is soft and creamy. The lentils should be fully cooked and well blended. Once the texture is smooth and slightly thickened, Dal Makhani is ready for the final tadka to enhance its flavor.

Prepare Final Tadka for Dal Makhani
12. To make the final tempering for Dal Makhani:
- Heat 2 tablespoons ghee in a small pan.
- Add ½ teaspoon crushed dried fenugreek leaves (kasuri methi).
- Add ½ teaspoon Kashmiri red chili powder.
- Stir lightly to combine.

13. Pour this tadka over the cooked Dal Makhani. Stir well to mix the tadka thoroughly with the dal. You can cover the pan with a lid and let it cook on low heat for an additional 5 minutes to allow the flavors to meld together perfectly.

Garnish Dal Makhani with Cream
14. After cooking, sprinkle chopped green chilies or coriander leaves over the dal makhani. Garnish with a spoonful of cream, mix well, and cook on low heat for another 5 minutes.
15. Serve Dal Makhani dish with steamed rice, jeera rice, butter naan, or roti for a complete Indian meal.

Serving Suggestions for Dal Makhani
- Lightly mash some of the lentils for a creamier texture and serve hot, garnished with a drizzle of fresh cream and a sprinkle of finely chopped coriander leaves.
- Dal tastes even better the next day as the flavors deepen. Pair it with steamed basmati rice or buttery garlic naan for a classic combination.
- Accompany with a side of sliced onions, lemon wedges, and green chutney to enhance the flavors.
- Authentic Indian Dal Makhani is rich, add a dollop of homemade butter or cream on top just before serving.
- The longer you let the Dal Makhani simmer, the richer the flavors become. Some restaurants cook it for hours to enhance the taste of dal.
FAQs
Dal Makhani is a rich and creamy North Indian lentil dish made with whole black lentils (urad dal), kidney beans (rajma), butter, and cream.
Soak them for at least 6–8 hours or overnight to ensure they cook evenly and soften properly.
Dal Makhani pairs excellently with steamed basmati rice, tandoori naan, roti, or paratha.
Recipe Card

Dal Makhani – North Indian Lentil Curry
Equipment
- 1 Pressure Cooker
- 1 Blender or food processor
- 1 Deep pan or wok
- 1 Wooden masher or spoon
Ingredients
- 1 cup whole black lentils sabut urad dal
- 1/4 cup kidney beans rajma
- Water as required (for soaking and cooking)
- Salt to taste
- 1 teaspoon red chili powder
- 1/2 teaspoon garlic paste
- 1 small stick cinnamon
- 4 cloves
- 1 green cardamom
- 1 bay leaf
- 400 grams ripe tomatoes blended into a smooth puree
- 1/3 cup clarified butter ghee or oil
- 1 teaspoon garlic paste
- 1 teaspoon ginger paste
- 1 teaspoon salt adjust to taste
- 1 teaspoon red chili powder
- 1/3 cup fresh cream or milk cream
- 2 tablespoons butter
- 2 teaspoons kasuri methi dried fenugreek leaves, crushed
- 1 teaspoon garam masala
- 2 tablespoons ghee
- 1/2 teaspoon kasuri methi
- 1/2 teaspoon Kashmiri red chili powder
- Chopped green chilies to taste
- 1 tablespoon fresh cream for garnish
Instructions
- Rinse 1 cup black lentils and 1/4 cup kidney beans thoroughly until water runs clear.
- Soak them in 4 cups of water for at least 8 hours or overnight for best results.
- Drain soaked lentils and beans.
- Add to pressure cooker with 4 cups water, salt, red chili powder, garlic paste, cinnamon, cloves, cardamom, and bay leaf. Cook on high flame for 20 minutes or until soft.
- For stovetop, cook for 60-70 minutes on low heat.
- Blend 300–400 grams ripe tomatoes into a smooth puree. Set aside.
- Once pressure releases naturally, open cooker and mash lentils lightly with a wooden masher for a creamy texture.
- Heat 1/3 cup ghee or oil in a pan to make tempering base.
- Add garlic and ginger paste. Sauté until lightly golden.
- Add tomato puree, salt, and red chili powder to the pan. Cook the tomato gravy for 5 minutes, stirring occasionally.
- Add mashed lentils to tomato mixture.
- Add hot water as needed for desired consistency. Cover and cook on low heat for 15-20 minutes, stirring occasionally.
- Mix in fresh cream, butter, crushed kasuri methi, and garam masala. Adjust salt if needed. Cover with lid and cook 10 more minutes.
- Heat ghee, add kasuri methi and Kashmiri red chili powder to prepare the second tadka.
- Pour hot tadka over dal makhani and mix well. Cook dal on low heat for 5 minutes with lid on to blend flavors.
- Garnish Dal Makhani with chopped green chilies and a spoonful of fresh cream. Serve hot with naan, roti, or rice.
Notes
- Slow cooking enhances flavor and texture of Dal Makahani.
- Lightly mash lentils for a creamy consistency.
- Don’t skip butter and cream for authentic richness.