Dal Makhani Recipe (Authentic Punjabi Style)
Dal Makhani is a creamy lentil dish featuring whole black gram lentils and kidney beans slow-cooked with a blend of aromatic whole spices, tomatoes, and cream. The rich texture comes from the lentils melting to a soft, buttery consistency, enhanced by butter and cream. Traditional spices like cumin, cardamoms, cinnamon, and bay leaf provide warmth while optional smoky charcoal imparts a faint smoky flavor. It's a hearty recipe that makes a substantial vegetarian main course or side dish.
Ingredients
For Cooking Lentils
- ¾ cup or 140 grams urad dal whole black gram, whole
- ¼ cup or 40 grams Kidney Beans kidney beans, also known as rajma
- 3 cups water - for pressure cooking
Main Ingredients
- 3 tablespoons butter - salted or unsalted
- ½ teaspoon cumin seeds
- 2 to 3 cloves
- 2 to 3 green cardamom
- 1 black cardamom
- 1 inch cinnamon
- 1 tej patta - small to medium-sized, (Indian bay leaf)
- ½ cup or 50 grams onion finely chopped
- 1 teaspoon or 1 to 2 green chilies - chopped, or use serrano peppers
- 2 teaspoons ginger garlic paste or 6 to 7 small to medium-sized peeled garlic + 1 inch peeled ginger - crushed to a paste in mortar-pestle
- 200 grams or 2 large tomato roughly chopped and pureed or 1 cup tomato puree
- ½ teaspoon red chili powder or cayenne pepper or smoked paprika
- 2 to 3 pinches nutmeg - grated or ground nutmeg powder
- 1 cup water or add as required
- ¼ to ⅓ cup light cream (25% to 30% fat) or half & half or 2 tablespoons whipping or heavy cream
- ¼ teaspoon fenugreek leaves crushed, (kasuri methi), optional, dry
- salt as required
For dhungar method (optional)
- 1 small piece charcoal
- ½ to ⅔ teaspoon neutral cooking oil any neutral tasting oil, generic cooking oil
For garnish
- 1 to 2 tablespoons Coriander leaves cilantro, chopped
- 1 tablespoon light cream (25% to 30% fat) or few teaspoons of whipping cream - optional
- 1 inch ginger julienne - optional
Instructions
Preparation & Cooking Lentils
- Soak both the whole urad dal and rajma overnight in enough water for 8 to 9 hours or overnight. Later drain them well.
- Rinse both the lentils a couple of times in water.
- Drain again and then add them in a 3 litre pressure cooker. Add water and stir well.
- Pressure cook for 18 to 20 whistles on a high flame, till both the urad dal and rajma have cooked thoroughly and softened. If they are undercooked, then add about ½ cup water again and pressure cook for 4 to 5 whistles more.
- The urad dal should melt in the mouth and should not give any bite or resistance when eaten. You can also just mash the urad dal with a spoon or with your fingers to check the doneness. The same rule applies for kidney beans too. Keep the cooked lentils and beans aside.
- In a blender or mixer jar, take chopped tomatoes and blend to a fine and smooth puree. Set aside.
- You can also add ready 1 cup tomato puree instead of blending the tomatoes. No need to blanch the tomatoes while pureeing.
Making Dal Makhani
- In a pan, now heat butter. Keep heat to medium-low.
- Add the whole spices - cumin seeds, cloves, green cardamoms, black cardamom, cinnamon and tej patta.
- Fry for some seconds till the spices sputter and become aromatic.
- Add finely chopped onions.
- Stir and sauté the onions on a low or medium-low heat often till they become light golden.
- Add the ginger garlic paste. Stir again and sauté for some seconds till the raw aroma of ginger-garlic goes away.
- Add the chopped green chilies and sauté for a minute.
- Add the prepared tomato puree and mix well.
- Add red chili powder and 2 to 3 pinches of grated nutmeg or nutmeg powder.
- Mix very well and sauté this mixture on a low to medium flame, till you see fat releasing from the sides.
- Add the cooked lentils and kidney beans together with the stock. Also add 1 cup water or as needed.
Slow Cooking
- Mix very well and simmer the dal makhani uncovered on a low heat.
- Keep on stirring often, so that the lentils don't stuck to the bottom of the pan.
- Once it has begun to thicken, add salt as required.
- Stir very well and continue to simmer on a low heat. Keep on stirring when the lentils are simmering on low heat.
- When simmering you can add more water if the consistency looks thick or dry. The longer you keep dal makhani to simmer, the better it tastes.
- I kept it for about an overall 25 minutes on a low heat. Do keep on stirring at intervals.
- When the consistency has thickened enough, add cream. Dal makhani is not too thick or too thin. It has a medium consistency.
- Mix the cream very well. Then turn off the heat.
- Add crushed dried fenugreek leaves (kasuri methi and mix again.
- Cover with a lid and set the Dal Makhani aside, if you are proceeding to the dhungar method. Or else you can serve Dal Makhani straightaway.
Dhungar Method (Optional)
- Turn on the stovetop and set the flame to low or medium-low heat. Place a flameproof wire rack with a handle on the stove. I typically use a round metal rack as shown in the step-by-step image above.
- Keep a small piece of charcoal on the rack and heat it directly over the flame until it becomes hot. Use steel tongs to rotate the charcoal, ensuring it burns evenly.Be cautious while doing this, and if you're unsure, it's okay to skip this step altogether.
- Keep the red hot charcoal in a small bowl.
- Pour ½ teaspoon oil on the hot charcoal.
- Immediately keep this bowl on top of the dal makhani.
- Cover for a minute and allow the charcoal to infuse its smoke in the dal makhni. Remove the bowl. Stir again.
- Serve Punjabi Dal Makhani garnished with chopped coriander leaves (cilantro) and a few teaspoons of cream with naan, roti, paratha or steamed rice.
Notes
- Soak urad dal and kidney beans overnight for at least 8 to 9 hours to reduce cooking time and improve digestibility.
- Rinse soaked lentils thoroughly and cook in fresh water, either by pressure cooking or simmering in a covered pot until very soft.
- Use ripe, sweet tomatoes or prepared tomato puree for the base; avoid overly sour tomatoes to maintain balanced flavor.
- For a vegan version, substitute butter with neutral oil and use plant-based cream alternatives or omit cream entirely.
- The traditional dhungar (charcoal smoking) technique adds a subtle smoky aroma but can be skipped or replaced with smoked paprika for similar effect.
- Freshness of lentils is important; aged or old lentils require longer cooking and may not become fully soft.
- Fenugreek leaves (kasuri methi) add distinctive aroma, but the dish can be made without them if unavailable.
Nutrition Information
Nutrition Facts
Serving: 4 Serving
Amount Per Serving
Calories 308
% Daily Value*
| Calories | 308kcal | 15% |
| Carbohydrates | 35g | 12% |
| Protein | 13g | 26% |
| Fat | 13g | 20% |
| Saturated Fat | 8g | 40% |
| Cholesterol | 35mg | 12% |
| Sodium | 433mg | 18% |
| Potassium | 353mg | 8% |
| Fiber | 12g | 48% |
| Sugar | 4g | 8% |
| Vitamin A | 987IU | 20% |
| Vitamin B1 (Thiamine) | 1mg | |
| Vitamin B2 (Riboflavin) | 1mg | |
| Vitamin B3 (Niacin) | 1mg | |
| Vitamin B6 | 1mg | |
| Vitamin B12 | 1µg | 42% |
| Vitamin C | 17mg | 19% |
| Vitamin D | 1µg | 5% |
| Vitamin E | 1mg | |
| Vitamin K | 7µg | |
| Calcium | 61mg | 6% |
| Vitamin B9 (Folate) | 60µg | |
| Iron | 4mg | 22% |
| Magnesium | 31mg | 8% |
| Phosphorus | 77mg | |
| Zinc | 1mg |
* Percent Daily Values are based on a 2,000 calorie diet.