Dal Makhani is a rich and creamy North Indian lentil dish made with whole black lentils (urad dal) and red kidney beans (rajma), slow-cooked with aromatic spices, butter, and cream.

This version balances bold flavors with a touch of smokiness, achieved by infusing the dish with charcoal. Perfectly comforting and indulgent, it pairs beautifully with naan or basmati rice for a hearty meal.
Cuisine: Indian
Prep Time: 10 minutes (plus soaking time)
Cook Time: 1 hour 30 minutes
Total Time: 1 hour 40 minutes
Servings: 4
Why You’ll Love Making It
- Rich & Creamy Texture – Slow-cooked lentils and butter create a velvety, indulgent dish.
- Authentic Restaurant Flavor – The optional smoky finish brings a depth of taste just like your favorite Indian restaurant.
- Perfect for Meal Prep – Tastes even better the next day, making it a great make-ahead meal.
- Comforting & Satisfying – Serve with naan or basmati rice for a warm, hearty meal.
Ingredients
For Cooking the Lentils & Beans
- ¾ cup urad dal sabut (whole black lentils) (165g) – Essential for the signature creamy consistency.
- ¼ cup rajma (red kidney beans) (60g) – Adds a slightly firm texture that complements the lentils.
- 1 teaspoon salt – Enhances flavor as the lentils cook.
- 3.5 cups water (28 oz) – Helps the lentils and beans soften during cooking.
For the Dal Base
- 1 tablespoon ghee – Adds depth and a rich, nutty taste.
- 3 tablespoons butter, divided (use Amul butter if possible) – Creates a smooth, restaurant-style texture.
- 1 medium white onion (115g), finely grated – Melts into the dish for a smoother consistency.
- 2 teaspoons ginger garlic paste – Use fresh for the best aroma and flavor.
- ½ cup tomato puree – Adds color and slight tanginess. Store-bought works best for consistency.
- ½ teaspoon Kashmiri red chili powder – Enhances color and gives mild heat.
- ¼ teaspoon garam masala – A warm blend of spices for depth.
- ½ teaspoon salt (or to taste) – Adjust for final seasoning.
- 1.5 cups water (12 oz), as needed – Helps achieve the right consistency while simmering.
For Finishing the Dal
- ½ teaspoon sugar – Balances the acidity of the tomatoes.
- ¼ cup cream (60ml) – Adds a luxurious creaminess.
- More Amul butter (salted) for serving – A final touch of indulgence.
- Piece of charcoal (optional, for smokiness) – Creates an authentic dhungar effect.
Instructions
Step 1: Soak and Cook the Lentils & Beans
Rinse the urad dal and rajma under running water. Soak them in plenty of water for at least 8 hours or overnight to soften. Drain and rinse again.
Transfer to a pressure cooker or large pot with 3.5 cups of water and 1 teaspoon salt. If using a pressure cooker, cook on high pressure for 25-30 minutes until soft. If using a regular pot, simmer covered for 60-70 minutes, adding water as needed. The lentils should mash easily when pressed between your fingers. Lightly mash some of them to enhance the creamy texture.
Step 2: Make the Base
In a heavy-bottomed pan, heat 1 tablespoon ghee and 1 tablespoon butter over medium heat. Add the grated onion and sauté for 6-8 minutes until golden brown. Stir in the ginger garlic paste and cook for another 1-2 minutes until fragrant.
Add the tomato puree and Kashmiri red chili powder. Stir well and cook for 10-12 minutes until the oil separates from the mixture. This step is key to removing raw tomato flavors.
Step 3: Simmer the Dal
Pour in the cooked lentils and beans along with 1.5 cups of water. Stir and bring to a gentle simmer. Cover and cook on low heat for 30 minutes, stirring occasionally. If the dal thickens too much, add a little more water.
After 30 minutes, stir in ½ teaspoon sugar, ¼ teaspoon garam masala, and salt to taste. Add 1 more tablespoon of butter and continue simmering for another 15 minutes, stirring occasionally.
Step 4: Finish with Cream & Butter
Lower the heat and stir in ¼ cup of cream. Cook for 5 more minutes to blend everything together. Finally, add 1 tablespoon of butter, letting it melt into the dal.
Step 5: Optional Smoky Flavor (Dhungar Method)
For an authentic smoky aroma, heat a small piece of charcoal over an open flame until red hot. Place it in a small steel bowl inside the dal pot. Drizzle ½ teaspoon of ghee or butter over the charcoal and immediately cover the pot. Let the dal absorb the smoke for 2-3 minutes, then remove the charcoal.
Step 6: Serve and Enjoy
Garnish with extra cream and a dollop of butter. Serve hot with naan or basmati rice for a comforting, restaurant-quality meal.
FAQs
Can I make Dal Makhani without a pressure cooker?
Yes! You can cook the lentils and beans in a heavy-bottomed pot. Soak them overnight, then simmer for 60-70 minutes, adding water as needed until they become soft.
Can I make Dal Makhani ahead of time?
Absolutely! Dal Makhani tastes even better the next day as the flavors deepen. Store it in the refrigerator for up to 3 days and reheat on low heat, adding a little water if it thickens too much.