There is a particular dal makhani I keep thinking about. It came from a small Punjabi dhaba we used to stop at on road trips when I was growing up: the dal was almost black, impossibly creamy, with a slick of butter floating on top and a smoky depth that I had no idea how to recreate at home. I tried twice on the stovetop. Both times it was fine but not that.
The Instant Pot Dal Makhani in this post is the version I actually make now, and it genuinely gets there. One pot, under an hour of active time, and the flavor that develops as it simmers in the residual heat after pressure cooking is the closest I have gotten to that dhaba bowl. I am convinced the key is the kasuri methi at the end and not skipping the slow simmer after.
Let’s make it together.
What Is Dal Makhani?
Dal makhani is a Punjabi dish made from whole urad dal (whole black gram) and rajma (red kidney beans), slow-cooked with butter, tomatoes, and cream until the lentils collapse into a thick, deeply savory gravy. The name means “buttery lentils” in Punjabi, and that is exactly what you get.
The dish is credited to Kundan Lal Gujral of Moti Mahal restaurant in Delhi, who is said to have left the dal simmering overnight in a tandoor to develop its signature richness. Traditional recipes call for 6 to 8 hours of slow cooking on a low flame. The Instant Pot gets you there in a fraction of the time by using pressure to break down the tough urad dal quickly, then the long natural release and a final simmer on sauté mode does the rest.
This recipe is vegetarian and easily made vegan. It is a weekend favorite in our house and one of those rare dishes that actually tastes better the next day.
Why You’ll Love This Instant Pot Dal Makhani
- Restaurant-quality depth of flavor at home, without hours at the stove
- One pot, easy cleanup
- Naturally vegetarian, easily vegan with one simple swap
- Freezer-friendly: make a big batch and portion it out
- Kid-approved once you dial back the chili (more on that in FAQs)
Nutrition Highlights
Urad dal is a nutritional powerhouse, and it does not get nearly enough credit:
- Iron: Whole urad dal provides around 3.9 mg of iron per 100g cooked, making it one of the best plant-based iron sources in Indian cooking
- Protein: Roughly 9g of protein per 100g cooked, which is excellent for a vegetarian main
- Fiber: High in soluble fiber, which supports healthy digestion and keeps you full
- B vitamins: Good source of folate and magnesium
Pair it with Instant Pot Jeera Rice for a complete protein combination. For more ways to add iron-rich dal to your weekly meals, see my iron-rich vegetarian recipes roundup.
Tip: Urad dal pairs particularly well with a squeeze of lemon just before serving, which also helps your body absorb the non-heme iron more efficiently.
Do I Need to Soak the Dal?
This is the most common question, and the honest answer is: soaking gives you noticeably better results, but it is not required.
With soaking (recommended): Soak whole urad dal and rajma together in plenty of water for 6 to 8 hours or overnight. The dal cooks to a creamier texture with better flavor. Pressure cook for 25 to 30 minutes.
Without soaking: Add an extra 1/2 cup of water and pressure cook for 45 to 50 minutes. The dal will still be tender, but the texture is slightly less creamy.
The first time I made this without soaking, I pressure cooked for 30 minutes and ended up with dal that was firm in the center. Adding an extra 15 minutes on a second pressure cook cycle fixed it. Save yourself the trouble and soak when you can.



Instant Pot Dal Makhani
Ingredients
Equipment
Method
- Set the Instant Pot to Sauté mode (Normal). Once hot, add butter and let it melt.
- Add cumin seeds and bay leaf. Let the cumin sizzle for 30 seconds until fragrant.
- Add the onion and cook for 6 to 8 minutes, stirring occasionally, until deep golden brown. Do not rush this step.
- Add ginger-garlic paste and cook for 1 minute until the raw smell disappears.
- Add tomatoes, Kashmiri chili powder, coriander powder, turmeric, and salt. Cook for 4 to 5 minutes until the tomatoes break down and oil begins to separate from the masala.
- Add drained urad dal and rajma to the pot. Pour in water and stir to combine.
- Secure the lid and set the valve to Sealing. Pressure cook on High for 30 minutes (soaked) or 50 minutes (unsoaked).
- Allow the pressure to release naturally (20 to 25 minutes). Do not use quick release.
- Open the lid. The dal should be very soft with some lentils burst open. If too watery, set to Sauté and simmer 5 to 10 minutes to thicken.
- Using the back of a spoon, gently mash about 20 to 25% of the dal against the pot to create a creamy base.
- Stir in cream (or coconut cream), garam masala, and kasuri methi. Simmer on Sauté (Low) for 5 minutes, stirring gently.
- Taste and adjust salt. Add a splash of warm water if too thick.
- Serve hot, swirled with cream, scattered with cilantro, and a small pat of butter on top.
Notes
Tips for the Creamiest Dal Makhani
A few things that genuinely made a difference in my testing:
Don’t skip the mashing step. This is what gives restaurant-style dal makhani its body. You do not want to blend everything. Just press some lentils against the pot until the texture turns thick and creamy.
Kasuri methi is not optional. I used to skip it when I didn’t have it on hand, and the dal always tasted like something was missing. Dried fenugreek leaves are the flavor that makes it taste like a restaurant dish. You can find them at any Indian grocery store, and they keep for months in a sealed jar.
The sauté finish matters. After pressure cooking, do not just add cream and serve. That extra 5-minute simmer on Sauté (Low) while you stir is when the dal tightens up and the flavors pull together.
Make it the night before. Dal makhani is genuinely better the next day. The urad dal keeps absorbing the masala as it sits, and the texture thickens to exactly where it should be.
Serving Suggestions
Dal makhani is a meal on its own when paired with bread or rice. Here is how we usually serve it at home:
- With Instant Pot Jeera Rice: the cumin rice is the classic pairing and comes together in the same time as the dal
- With warm naan or roti for scooping
- As part of a simple dinner thali with a raita and a sabzi on the side
- In lunchboxes the next day. It packs and reheats well.
If you are cooking for a crowd, this recipe doubles easily. Just increase the water proportionally and keep the same pressure cook time.
Make-Ahead & Storage
Meal prep: Dal makhani is one of the best meal-prep recipes in Indian cooking. Make a full batch on Sunday and you have a protein-rich, satisfying base for lunches and dinners through Wednesday.
Refrigerator: Keeps well for up to 5 days in an airtight container. The texture thickens as it sits. Just add a splash of water when reheating.
Freezer: Freeze in individual portions for up to 2 months. Thaw in the fridge overnight and reheat on the stovetop on low heat.
Reheating: Always reheat on the stovetop over low heat, not in a microwave blast, to prevent the cream from splitting.
FAQs
Q1. Can I make dal makhani without kidney beans?
Yes. You can use 1 and 1/4 cups of whole urad dal and skip the rajma entirely. The dal will be slightly darker and have more of a uniform texture. Some traditional recipes use only urad dal.
Q2. My dal makhani is not creamy. What went wrong?
The most common cause is under-cooked dal. Whole urad dal needs to be very soft before it will cream up. If your lentils are still a bit firm after pressure cooking, lock the lid and pressure cook for another 10 to 15 minutes. If it seems cooked but not creamy, mash more of the dal against the pot and simmer on Sauté for longer.
Q3. Can I use canned kidney beans?
Yes. Use 1/2 cup drained canned kidney beans. Add them after pressure cooking (skip them during the cook cycle) and stir in during the finish step. Reduce the soak-based cook time to 20 minutes for the urad dal alone.
Q4. How do I make this vegan?
Use vegan butter in place of regular butter, and substitute coconut cream for heavy cream. Full-fat coconut cream gives a richer result than light coconut milk. The flavor shifts slightly (a subtle coconut note comes through), but it is genuinely delicious and most people won’t notice.
Q5. Can I make this on the stovetop?
Yes, though it takes significantly longer. Pressure cook the soaked dal in a stovetop pressure cooker for 3 to 4 whistles, then prepare the masala separately, combine, and simmer on low heat for 45 to 60 minutes, stirring every 10 minutes. You can also use a heavy-bottomed pot with no pressure cooker. Budget 2 to 3 hours of simmering.
Q6. How do I make it kid-friendly?
Reduce the Kashmiri chili powder to 1/4 tsp and skip the garam masala. Serve with plain steamed rice rather than jeera rice so the flavors stay mild. My daughter has been eating this since she was two, and the creamy texture is very approachable for little ones.
Dal makhani is one of those recipes that rewards a little patience. The overnight soak, the slow natural pressure release, the extra five minutes of simmering at the end: none of these steps are hard, but each one matters. Make it once on a weekend and I think you will find yourself reaching for it on weeknight rotation.
If you are working through the iron-rich vegetarian recipes or looking for a companion dish, my palak dal is another weeknight staple that pairs beautifully on the same table.
If you try this recipe, come back and tell me: did you make it the day before, or did you serve it straight from the pot? I want to know which version won.
Made this? Share a photo and tag @petitepaprika on Instagram. I love seeing your kitchen creations!
