I first had Dal makhani at a small Punjabi dhaba during a road trip, and the creamy, smoky flavor stayed with me for weeks. Now I make it at home whenever I'm craving that same cozy, indulgent comfort, and the best part is how the slow simmering fills the whole house with warmth.

If you love hearty lentil dishes, you'll also want to try my Easy Crispy Potato Tacos in 5 Easy Steps for Busy Weeknights for another restaurant-style favorite, or explore my collection of Jianbing Chinese Breakfast Crepes Made Easy at Home , Easy Miso Scrambled Eggs Recipe (Soft & Addictive) or more comforting meals like this one.
Why You'll Love This Recipe
You're going to love how this homemade Dal Makhani captures that authentic restaurant-style taste without leaving your kitchen. The slow-cooked dal recipe develops such deep, layered flavors that every bite feels like a warm hug. It's surprisingly easy once you get the lentils soaking, and you can make it on the stovetop or use an Instant Pot if you're short on time.
The creamy texture comes from the natural starches in the lentils plus a good swirl of cream and butter. You can adjust the spice level to your liking, making it family-friendly or adding extra heat. This Punjabi Dal Makhani also keeps beautifully, so you can make a big batch and enjoy it throughout the week. Serve it with warm naan or basmati rice, and you've got yourself a meal that rivals any Indian restaurant.
Jump to:
Dal Makhani Ingredients
Here's what you need to make this creamy curry that tastes like it took hours of work.
See Recipe Card Below This Post For ingredients Quantites
To Cook Dal:
Urad dal: These Indian black lentils form the hearty base of the dish and give Dal Makhani its signature creamy texture when cooked down.
Rajma: Red kidney beans add body and a slight sweetness that balances the earthy lentils perfectly.
Water: You'll need enough for pressure cooking, and possibly more if you're using the stovetop method to keep everything tender.
To Temper/Masala:
Ghee: Adds that rich, nutty flavor that makes this dal taste so restaurant-quality. You can use oil if needed, but ghee is traditional.
Unsalted butter: The "Dal Makhani " part of the recipe comes from this generous amount of butter stirred in at the end. Cultured butter gives an even richer taste.
Onions: Finely chopped onions form the aromatic base and add natural sweetness as they caramelize.
Ginger garlic paste: This powerful duo brings warmth and depth to the masala. Fresh grated ginger and garlic work beautifully too.
Tomato puree: Creates the tangy, velvety gravy that coats every lentil. Freshly pureed tomatoes give the brightest flavor.
Kashmiri red chili powder: Provides gorgeous color and mild heat without overwhelming the other spices.
Garam masala: This warming spice blend ties everything together with notes of cinnamon, cardamom, and cloves.
Sea salt: Brings out all the other flavors and balances the richness of the cream and butter.
Hot water: Added during cooking to adjust consistency and keep the Dal Makhani from getting too thick.
Kasuri methi: Dried fenugreek leaves add a slightly bitter, aromatic note that's essential to authenticDal Makhani .
Heavy cream: Stirred in at the end for that luxurious, silky finish that makes this urad Dal Makhani recipe so indulgent.
Whole Spices (Optional):
Bay leaf: Adds a subtle herbal note to the tempering.
Green cardamoms: Bring a sweet, floral aroma that complements the earthy lentils.
Black cardamom: Gives a smoky depth that makes this taste like it came from a tandoor oven.
how to make Dal Makhani
Preparation: Add urad Dal Makhani and rajma to a large bowl and rinse well by rubbing the grains together between your hands. Drain and rinse 2-3 more times until the water runs clear, then cover with 4 cups of water and let soak overnight. Before cooking, drain and rinse one more time.
How to Make Dal Makhani (Stovetop):
Pressure cook the lentils: Add 4 cups of fresh water to your soaked and drained Dal Makhani , then pressure cook for 10 whistles on medium heat. If you're using an Instant Pot, set it to high pressure for 20 minutes. For regular pot cooking, simmer until completely soft, adding more hot water as needed.
Check for doneness: The urad Dal Makhani and rajma should be soft enough to mash easily between your fingers. If they're still firm, add another ½ cup of hot water and cook for 3-4 more whistles.

Temper the spices: Heat ghee in a heavy-bottomed pot over medium heat. If using whole spices, toss them in now and let them sizzle for about a minute until fragrant.
Sauté the aromatics: Add your finely chopped onions and cook until they turn golden brown, about 7 minutes. Stir in the ginger garlic paste and sauté for another minute until you can smell that beautiful aroma.
Build the masala: Pour in the tomato puree and cook for 3-4 minutes, stirring occasionally. Add salt, chili powder, and garam masala, then keep cooking until the masala thickens and releases its oils, about 4-5 minutes. You'll know it's ready when it smells deeply aromatic.
Combine dal and masala: Lightly mash some of the cooked Dal Makhani with the back of your spoon, then add it to the pot along with all the cooking liquid. Stir in 1 cup of hot water and mix everything together.

Slow cook: Turn the heat to low and let the Dal Makhani simmer gently for 60 minutes, stirring every 10-15 minutes to prevent sticking. Add splashes of hot water if it starts looking too thick. After about 90 minutes total, the dal should have a rich, creamy consistency.
Finish with cream and butter: Crush the kasuri methi between your palms to release its flavor, then stir it into the Dal Makhani along with the cream. Cook for another 6-8 minutes until everything looks silky and well combined. Taste and adjust the salt or add the remaining ½ teaspoon of garam masala if you want more warmth. Stir in the butter and let it melt into the dal.
Dhungar - Smoking (Optional):
Prepare for smoking: Place a small piece of foil or a steel cup right on top of the finished Dal Makhani . Burn a 1-2 inch piece of natural wood charcoal over your stovetop flame until it's glowing red-hot, about 3-4 minutes.
Smoke the dal: Carefully place the hot charcoal on the foil or in the cup, then immediately pour ¼ teaspoon of ghee over it. The ghee will sizzle and smoke. Quickly cover the entire pot with a lid and let the smoky aroma infuse the Dal Makhani for 3-4 minutes. For stronger flavor, you can repeat with another ¼ teaspoon of ghee.
Serve: Ladle the Dal Makhani into bowls and top with an extra pat of butter or a drizzle of cream. Serve hot alongside basmati rice or warm naan.
Dal Makhani in the Instant Pot:
Sauté aromatics: Turn your Instant Pot to sauté mode, heat the ghee, and cook the onions until golden, about 5 minutes. Add the ginger garlic paste and cook for 1 minute more.
Build the base: Stir in tomato puree, red chili powder, garam masala, and salt. Sauté everything together for 3-4 minutes, then add your soaked and drained lentils.
Pressure cook: Add 3 cups of water, secure the lid, and set to high pressure for 30 minutes. Let the pressure release naturally, which takes about 15 minutes.
Simmer and thicken: Mash some of the lentils against the side of the pot, then switch back to sauté mode. Add 1 cup of hot water and cook for 12-15 minutes, adjusting the heat as needed to maintain a gentle simmer.
Optional extra cooking: If you want an even thicker, creamier texture, add another cup of hot water and cook for 12-15 more minutes.
Finish: Stir in crushed kasuri methi, cream, and the remaining garam masala. Add the butter, give everything a good stir, and turn off the Instant Pot.
Substitutions and Variations
You can swap the rajma for extra urad Dal Makhani if you can't find kidney beans, though the kidney beans do add nice texture. Regular butter works perfectly fine if you don't have cultured butter on hand. For a lighter version, use half-and-half instead of heavy cream, but keep in mind it won't be quite as rich.
If you're dairy-free, coconut cream makes a decent substitute, though the flavor will be slightly different. Can't find kasuri methi? A small handful of fresh cilantro stirred in at the end gives brightness, even if it's not traditional. Some folks like adding a pinch of sugar to balance the tomatoes, especially if yours are particularly tart.
Equipment for Dal Makhani
A pressure cooker or Instant Pot makes this recipe so much easier, cutting down the cooking time significantly. If you're going the traditional route, a heavy-bottomed pot is essential to prevent scorching during that long simmer. You'll want a wooden spoon or spatula for all the stirring.
A grater comes in handy if you're using fresh ginger and garlic instead of paste. A blender helps you get that smooth tomato puree. If you're trying the dhungar smoking method, grab some foil before you start.
Storage and Reheating Tips
This spiced Dal Makhani recipe actually tastes better the next day once all the flavors have melded together. Store it in an airtight container in the fridge for up to 5 days. The Dal Makhani will thicken as it sits, so add a splash of water or cream when reheating to loosen it up. You can freeze Dal Makhani for up to 3 months in freezer-safe containers. Thaw overnight in the fridge, then reheat gently on the stovetop, stirring frequently. I like to add a little fresh butter when reheating to bring back that just-cooked richness.
expert tips
The overnight soak is not optional. It softens the lentils and reduces cooking time significantly. Don't skip the slow simmering step, even though it feels long. That's when the magic happens and everything becomes creamy and thick.
Mashing some of the dal while keeping some lentils whole gives you the best texture. Taste as you go and adjust the salt and spices to your preference. The dhungar smoking step is traditional and adds incredible depth, but the Dal Makhani is still delicious without it.
Fresh kasuri methi makes a difference, so crush it between your palms to release those aromatic oils. If your Dal Makhani seems too thick, always add hot water, never cold, to maintain the cooking temperature.
FAQ
What is the secret ingredient in dal makhani?
The secret is really the kasuri methi (dried fenugreek leaves) that gets stirred in near the end. It adds this earthy, slightly bitter note that balances all the butter and cream. Some restaurants also use the dhungar smoking method with charcoal and ghee, which gives an amazing smoky depth. My grandma always said patience is the real secret ingredient, letting it simmer low and slow until the flavors marry together.
What is the secret to a good dal makhani?
The key is giving it time to cook slowly and stirring in enough butter and cream at the end. Don't rush the simmering process, those 60-90 minutes let the lentils break down and create natural creaminess. Make sure your lentils are completely soft before you start building the masala. Fresh ginger garlic paste instead of powder makes a huge difference too.
What are common mistakes in making dal makhani?
The biggest mistake is not soaking the lentils long enough, which means they won't cook properly. Another is cooking on too high heat, which can scorch the bottom. People also tend to add cold water instead of hot when adjusting consistency, which drops the temperature. Skipping the kasuri methi or not cooking the tomato masala long enough until it's aromatic are other common issues that affect the final flavor.
What are the ingredients of dal makhani?
Traditional Dal Makhani uses black lentils (urad Dal Makhani ), kidney beans, butter, ghee, cream, tomatoes, onions, ginger, garlic, and aromatic spices like garam masala and Kashmiri chili powder. The kasuri methi is what gives it that authentic restaurant taste. Whole spices like bay leaf and cardamom add extra depth if you want to go traditional.
Related
Looking for other recipes like this? Try these:
Pairing
These are my favorite dishes to serve with Dal Makhani

Dal Makhani (Restaurant Style)
Ingredients
Method
- Rinse the urad dal and rajma thoroughly, rubbing them together. Drain and repeat the rinse twice more. Soak the beans in 4 cups of water overnight. Once soaked, drain and rinse them again. prep
- Add the soaked beans to a pressure cooker with 4 cups fresh water. Pressure cook on medium heat for 10 whistles or in an Instant Pot on high pressure for 20 minutes. If cooking in a pot, cook until soft, adding more hot water as needed. prep
- After cooking, check if the lentils and beans are soft. Mash with a spoon, and if they don't mash easily, add an extra ½ cup hot water and cook for 3-4 more whistles. prep
- In a heavy-bottomed pot, heat ghee over medium heat. If using whole spices, add them now and let them sizzle for about 1 minute. prep
- Add finely chopped onions and sauté them until golden brown, about 7 minutes. Stir in the ginger garlic paste and cook for another minute until fragrant. prep
- Pour in the tomato puree, and cook for 3-4 minutes. Stir in the Kashmiri red chili powder, garam masala, and salt, and cook the mixture for an additional 4-5 minutes until thickened and aromatic. prep
- Add the cooked dal with its stock into the pot, along with 1 cup of hot water. Stir to combine. Cook over low heat, stirring occasionally, for 60 minutes. prep
- Once the dal thickens, add another ½ to 1 cup hot boiling water, and continue cooking for 30 more minutes. The total cooking time should be around 90 minutes. finish
- Crush the kasuri methi between your palms and stir it into the dal. Add the cream, and cook for another 6-8 minutes until the dal becomes creamy and thick. Taste and adjust salt or garam masala if needed. Stir in butter before serving. finish













Leave a Reply