Looking for an authentic Dal Makhani recipe that’s rich, creamy, and restaurant-style? This traditional Indian lentil curry is made with whole black lentils (urad dal), red kidney beans (rajma), butter, and aromatic spices. Slow-cooked for deep flavor, this vegetarian dish is perfect with naan or basmati rice. Learn how to make Dal Makhani at home with simple ingredients and easy cooking methods for a comforting North Indian meal.

Dal Makhani is a rich and creamy lentil dish originating from North India, made with black lentils and kidney beans slow-cooked in aromatic spices, butter, and cream. It’s perfect with naan or steamed rice for a comforting and flavorful meal.
Ingredients
For the Pulses
- 165 g (¾ cup + 1 tbsp) dried black lentils
- 70 g (⅓ cup + 1 tbsp) dried red kidney beans
- Water (for soaking)
For the Dal
- 800 ml (3⅓ cups) water
- 1 tbsp ghee
- 3 tbsp unsalted butter
- 1 onion, finely diced
- 1 tbsp ginger paste
- ½ tsp Kashmiri red chilli powder (or regular chilli powder)
- ½ tsp garam masala
- ½ tsp ground cumin
- 1 tsp salt
- 1 tbsp tomato puree (paste)
- 60 ml (4 tbsp) passata
- 1 tsp sugar
- 150 ml (½ cup + 2 tbsp) water
- 1 tbsp unsalted butter (extra)
- 60 ml (¼ cup) double (heavy) cream
For Serving
- 1 tbsp double (heavy) cream
- Chopped fresh coriander (cilantro)
Instructions
1. Soak the Pulses
Rinse the lentils and kidney beans under cold water. Place them in a bowl, cover with cold water (with about 2–3 cm extra water on top), and soak overnight or for at least 12 hours.
2. Cook the Pulses
Drain and rinse the soaked lentils and kidney beans. Add them to a saucepan with 800 ml water.
Bring to a gentle simmer and cook uncovered for 90 minutes, stirring occasionally. Add a splash of water if needed. Once soft, gently mash a portion of the mixture to thicken the texture.
3. Prepare the Masala
In a separate pan, melt ghee and butter over medium heat.
Add diced onion and sauté for 5–7 minutes until softened. Stir in ginger paste, chilli powder, garam masala, cumin, salt, and tomato puree. Cook for 1 minute, stirring continuously.
4. Combine and Simmer
Add passata, cooked pulses, sugar, and 150 ml water to the pan. Stir well.
Simmer gently on low heat for 50–60 minutes, stirring occasionally to prevent sticking.
Note: You can make this ahead up to this stage. Let cool, then refrigerate until ready to serve.
5. Finish and Serve
Stir in the extra tablespoon of butter and the double cream. Let it simmer for another 10 minutes.
Transfer to a serving bowl, drizzle with extra cream, and garnish with chopped coriander.

Tips
- Soaking the beans overnight ensures they cook evenly and become soft and creamy.
- Use Kashmiri red chilli powder for vibrant color and mild heat.
- Stir frequently while simmering to prevent the dal from sticking to the bottom of the pan.
Variations and Substitutions
- No passata? Use crushed tomatoes or blended canned tomatoes as a substitute.
- Vegan version: Replace butter and cream with plant-based alternatives like vegan butter and coconut cream.
- Shortcut: Use canned cooked lentils and kidney beans to reduce cooking time (though the texture may differ).
FAQs
Can I make Dal Makhani in advance?
Yes! It tastes even better the next day. Store in an airtight container in the fridge for up to 3 days.
Can I freeze it?
Absolutely. Freeze in portions and reheat gently on the stovetop with a splash of water or cream.
Is it spicy?
Dal Makhani is mildly spiced. You can adjust the chilli powder to taste.
Serving Suggestions
- Serve hot with steamed basmati rice, jeera rice, or garlic naan.
- Add a side of raita and pickled onions for a complete Indian meal.
Why You’ll Love This Recipe
- Creamy, buttery, and rich—just like restaurant-style dal.
- Made with pantry staples and simple steps.
- A comforting, protein-rich vegetarian dish perfect for cozy nights or family dinners.
Dal Makhani (Creamy Black Lentils)
4
servings15
minutes2
hoursIngredients
-
For the Pulses
-
165 g (¾ cup + 1 tbsp) dried black lentils
-
70 g (⅓ cup + 1 tbsp) dried red kidney beans
-
Water (for soaking)
-
For the Dal
-
800 ml (3⅓ cups) water
-
1 tbsp ghee
-
3 tbsp unsalted butter
-
1 onion, finely diced
-
1 tbsp ginger paste
-
½ tsp Kashmiri red chilli powder (or regular chilli powder)
-
½ tsp garam masala
-
½ tsp ground cumin
-
1 tsp salt
-
1 tbsp tomato puree (paste)
-
60 ml (4 tbsp) passata
-
1 tsp sugar
-
150 ml (½ cup + 2 tbsp) water
-
1 tbsp unsalted butter (extra)
-
60 ml (¼ cup) double (heavy) cream
-
For Serving
-
1 tbsp double (heavy) cream
-
Chopped fresh coriander (cilantro)
Directions
- Soak the Pulses
- Rinse the lentils and kidney beans under cold water. Place them in a bowl, cover with cold water (with about 2–3 cm extra water on top), and soak overnight or for at least 12 hours.
- Cook the Pulses
- Drain and rinse the soaked lentils and kidney beans. Add them to a saucepan with 800 ml water.
- Bring to a gentle simmer and cook uncovered for 90 minutes, stirring occasionally. Add a splash of water if needed. Once soft, gently mash a portion of the mixture to thicken the texture.
- Prepare the Masala
- In a separate pan, melt ghee and butter over medium heat.
- Add diced onion and sauté for 5–7 minutes until softened. Stir in ginger paste, chilli powder, garam masala, cumin, salt, and tomato puree. Cook for 1 minute, stirring continuously.
- Combine and Simmer
- Add passata, cooked pulses, sugar, and 150 ml water to the pan. Stir well.
- Simmer gently on low heat for 50–60 minutes, stirring occasionally to prevent sticking.
- Note: You can make this ahead up to this stage. Let cool, then refrigerate until ready to serve.
- Finish and Serve
- Stir in the extra tablespoon of butter and the double cream. Let it simmer for another 10 minutes.
- Transfer to a serving bowl, drizzle with extra cream, and garnish with chopped coriander.








Leave a Reply