Dal Makhani (Restaurant Style)
This is truly the best restaurant-style Dal Makhani you can make at home. It’s a rich and creamy North Indian lentil dish from the Punjab region. While it’s traditionally prepared by slow-cooking whole black lentils and red kidney beans with butter and cream, my short-cut version is made quickly in the Instant Pot.

“Dal” means lentils or pulses and “makhani” means butter. Therefore, dal makhani literally translates to “buttery lentils” or “creamy lentils”. It’s one of the most popular dishes that you’ll find on Indian restaurant menus.
I’ve tested this recipe numerous times until it was perfect. But the ultimate test was to serve this dish to my Punjabi husband and mother-in-law to get their 100% honest feedback.
The verdict was… drumroll, please… They absolutely LOVED it and said that it was the best dal makhani they’ve ever had outside of a restaurant. To me, that’s a huge compliment!
It’s mildly spicy and you can control the heat level by adding more green chillies if desired or leaving them out completely.
This rich and savory curry is one of my picky toddler’s favorite meals. I make it regularly because it’s always a hit in our house.
Dal makhani ingredients

This might seem like a LONG list of ingredients, but if you make Indian food often, you’ll probably already have everything in your pantry.
And if you don’t make Indian food often, you can find these items at most well-stocked grocery stores, usually in the international food aisle.
Or you can shop at a local Asian or Indian grocery store, which will have all the necessary ingredients to make the best dal makhani.
Here in Toronto, I am spoiled with all the Asian and Indian grocery stores. You can find the coolest items there!
Whole urad dal (Vigna mungo): Whole urad dal is a type of black lentil known as black gram or matpe beans. It’s a black-skinned lentil with a white interior.
They are NOT the same as black lentils (beluga lentils), which are a small legume that resembles caviar. Beluga lentils retain their shape and do not get mushy when cooked.
Red kidney beans (Rajma): Red kidney beans are traditionally added to dal makhani to vary the texture. I use dried beans in this recipe which cook with the whole urad dal in the Instant Pot or pressure cooker.
Onion: I use yellow onion for this recipe. You can use red if you prefer.
Garlic: Fresh garlic tastes best or you can substitute with 4 teaspoons of garlic paste.
Ginger: Fresh ginger tastes best. You’ll need it when cooking the lentils and beans and to garnish the dal when serving.
Kashmiri chili powder: This is a mild and vibrant red Indian spice made from ground, dried Kashiri chillies.
If you can’t find Kashmiri chili powder, you can substitute with ¾ teaspoons sweet paprika and ¼ teaspoon of cayenne pepper.
Ground cumin: This is a key spice in dal makhani and offers a warm, earthy, and slightly smoky flavor.
Ground coriander: This is a mild spice that tastes nutty and slightly sweet with a citrusy lemon flavor.
Bay leaf: This is used to add a subtle, earthy aroma to the whole urad dal.
Cinnamon stick: This is a whole spice that releases its warm aroma while cooking the lentils and beans.
Ghee: This is a type of clarified butter that is a staple in Indian cooking. It has a higher smoke point than butter and adds a richer, nuttier flavor.
I use ghee ALL the time when cooking Western or Indian food. It’s generally free of lactose and casein, which can make it a good option for those with dairy sensitives.
If you don’t have ghee, you can substitute with avocado oil, vegetable oil, or your favorite neutral-tasting cooking oil.
Cumin seeds: These are tempered in ghee until they start to splutter and sizzle.
Smoked paprika: Restaurants often use the Dhungar method to infuse a smoky flavor into the dal makhani.
This is done by placing a hot charcoal in a small bowl inside the dal pot, pouring ghee over it, then trapping the smoke for a few minutes.
You can certainly try this method at home, but an easier way to infuse a smoky flavor when you’re short on time is to use smoked paprika.

Ground nutmeg: Adding a little nutmeg can help enhance the richness of the butter and cream.
Tomato puree (passata): Passata is an uncooked, strained tomato puree that has a smooth and silky texture. It’s made by removing the skins and seeds from ripe tomatoes.
Passata is usually sold in glass bottles and labeled as “strained tomatoes” in some regions. This is NOT the same thing as tomato sauce or tomato paste.
If you can’t find passata, you can substitute with 2 or 3 medium tomatoes that have been pureed in a blender, enough to make 1 cup of tomato puree.
Salt: I use fine sea salt. You can adjust the amount of salt based on your taste and dietary needs.
Kasoori methi: Dried kasoori methi leaves are commonly used in Indian cooking to add depth to dals, curries, and other vegetable dishes.
They are usually crushed by hand and added near the end of cooking.
Green chillies: You can use Indian green chillies or Thai green chillies. They are added for a slight kick of heat and as a garnish.
If you’re sensitive to heat, you can leave them out completely.
Butter: To achieve that restaurant-style taste and texture, you need to add butter. I use salted butter, but you can use unsalted if you want to limit the amount of added salt.
Heavy cream: I use 35% heavy cream which adds that signature rich and velvety texture.
Brown sugar: Adding a little sugar can help balance the acidity of the tomatoes. You can leave it out if you prefer.
Cilantro: Chopped cordiander leaves are used as a garnish at the end of cooking to add a fresh and aromatic element to the dish.
Fresh lemon juice: This adds a bright flavor to balance the richness of the butter and heavy cream.

How to make dal makhani
Add the urad dal and red kidney beans to a medium bowl. Cover with 2 to 3 inches of water and discard any lentils or beans that float.
Soak for at least 8 hours at room temperature or overnight in the fridge. Drain in a colander and thoroughly rinse the dal and beans.
Add the rinsed dal and beans to an Instant Pot or pressure cooker. Add 4 cups of water, the onion, garlic, ginger, chili powder, ground cumin, ground coriander, bay leaf, and cinnamon stick.
Pressure cook on high for 30 minutes. (It takes about 15 minutes for it to come to pressure in my Instant Pot).
Allow the Instant Pot or pressure cooker to naturally release its pressure. (It takes about 30 minutes for my Instant Pot to naturally release its pressure).


While the dal and beans are cooking, add the ghee (or vegetable oil if using) to a medium frying pan on medium heat.
Once the ghee has melted (or the oil is hot), add the cumin seeds, smoked paprika, and nutmeg, and cook for 30-60 seconds, until they are aromatic and sizzle.
Reduce the heat to low, then add the passata (tomato puree) and salt. Increase the heat to medium-low and simmer the tomatoes, stirring often until they thicken and become a jammy consistency, about 10-15 minutes.
The ghee will separate from the tomatoes and collect along the edges of the frying pan. Turn off the heat and stir in the kasoori methi and green chilis.


When the Instant Pot or pressure cooker has naturally released its pressure, carefully open the lid and remove and discard the cinnamon stick and bay leaf.
Use the back of a large wooden spoon, potato masher, or fork to mash the dal and beans to create a creamy texture. Add the cooked tomato mixture to the lentils and beans and stir to combine.
Add the butter, heavy cream, light brown sugar, fresh lemon juice, and most of the chopped cilantro to the dal and stir to combine. Select the “Saute” setting for a few minutes to help melt the butter. Turn off the Instant Pot.


When you’re ready to serve, drizzle 1 to 2 tablespoons of heavy cream on the dal and sprinkle the matchstick ginger and remaining cilantro and on top. Serve hot with basmati rice or naan.

Please let me know how you like this dal makhani recipe in the comments below! Your feedback and review encourages me to keep creating new and yummy recipes. I hope you love this dal makhani as much as I do.
Print
Dal Makhani (Restaurant Style)
- Total Time: 1 hour 45 minutes
- Yield: 4 to 6 servings 1x
- Diet: Vegetarian
Description
This is truly the best restaurant-style Dal Makhani you can make at home. It’s a rich and creamy North Indian lentil dish from the Punjab region. While it’s traditionally prepared by slow-cooking whole black lentils and red kidney beans with butter and cream, my short-cut version is made quickly in the Instant Pot.
Ingredients
- 1 cup uncooked whole urad dal (black gram / matpe beans)
- 1/2 cup uncooked red kidney beans
- 4 cups water
- 1 medium yellow onion, finely diced
- 4 garlic cloves, finely minced or pressed
- 2 tablespoons finely minced ginger
- 1 teaspoon Kashmiri chili powder (See notes)
- 1 teaspoon ground cumin
- 1 teaspoon ground coriander
- 1 bay leaf
- 1 cinnamon stick
- 3 tablespoons ghee (or vegetable oil)
- 1 teaspoon cumin seeds
- 1/2 teaspoon smoked paprika
- 1/8 teaspoon ground nutmeg
- 1 cup tomato puree (passata or 2-3 medium tomatoes, chopped and pureed in a blender)
- 1/2 teaspoon fine sea salt, or to taste
- 1 tablespoon kasoori methi, crushed by hand
- 2–3 green chilis, split lengthwise and seeded
- 1/4 cup (57g) salted butter (Or use unsalted to limit the added salt)
- 1/2 cup heavy cream (35%), plus more for serving
- 1 teaspoon light brown sugar
- 1 tablespoon fresh lemon juice
- 1/2 cup fresh cilantro, finely chopped
- 1–2 tablespoons fresh ginger, peeled and cut into matchsticks
- Basmati rice or naan, for serving
Instructions
- Soak the lentils and beans. Add the urad dal and red kidney beans to a medium bowl. Cover with 2 to 3 inches of water and discard any lentils or beans that float. Soak for at least 8 hours at room temperature or overnight in the fridge. Drain in a colander and thoroughly rinse the lentils and beans.
- Cook the lentils and beans. Add the rinsed lentils and beans to an Instant Pot or pressure cooker. Add 4 cups of water, the onion, garlic, ginger, chili powder, ground cumin, ground coriander, bay leaf, and cinnamon stick.
- Pressure cook on high for 30 minutes. (It takes about 15 minutes for it to come to pressure in my Instant Pot). Allow the Instant Pot or pressure cooker to naturally release its pressure. (It takes about 30 minutes for my Instant Pot to naturally release its pressure).
-
Cook the tomato puree. While the lentils and beans are cooking, add the ghee (or vegetable oil if using) to a medium frying pan on medium heat. Once the ghee has melted (or the oil is hot), add the cumin seeds, smoked paprika, and nutmeg, and cook for 30-60 seconds, until they are aromatic and sizzle.
-
Reduce the heat to low, then add the tomato puree (passata) and salt. Increase the heat to medium-low and simmer the tomatoes, stirring often until they thicken and become a jammy consistency, about 10-15 minutes. The ghee will separate from the tomatoes and collect along the edges of the frying pan. Turn off the heat and stir in the kasoori methi and green chilis.
-
When the Instant Pot or pressure cooker has naturally released its pressure, carefully open the lid and remove and discard the cinnamon stick and bay leaf. Use the back of a large wooden spoon, potato masher, or fork to mash the lentils and beans to create a creamy texture. Add the cooked tomato mixture and stir to combine.
-
Add the butter, heavy cream, light brown sugar, fresh lemon juice, and most of the chopped cilantro to the dal and stir to combine. Select the “Saute” setting for a few minutes to help melt the butter. Turn off the Instant Pot. Taste and adjust the seasoning as needed (you may want to add more salt).
-
When you’re ready to serve, drizzle 1 to 2 tablespoons of heavy cream on the dal and sprinkle the matchstick ginger and remaining cilantro and on top. Serve hot with basmati rice or naan.
Notes
- Is dal makhani spicy? This is a mildly spicy dish. You can control the heat level by adding more green chillies if desired or leaving them out completely.
- This might seem like a LONG list of ingredients, but if you make Indian food often, you’ll probably already have everything in your pantry. If you don’t make Indian food often, you can find these items at most well-stocked grocery stores, usually in the international food aisle. Or you can shop at a local Asian or Indian grocery store, which will have all the necessary ingredients to make the best dal makhani.
- Whole urad dal: Whole urad dal (Vigna mungo) is a type of black lentil known as black gram or matpe beans. It’s a black-skinned lentil with a white interior. They are NOT the same as black lentils (beluga lentils), which are a small legume that resembles caviar. Beluga lentils retain their shape and do not get mushy when cooked.
- Red kidney beans (Rajma): Red kidney beans are traditionally added to dal makhani to vary the texture. I use dried beans in this recipe which cook with the whole urad dal in the Instant Pot or pressure cooker.
- Kashmiri chili powder: This is a mild and vibrant red Indian spice made from ground, dried Kashiri chillies. If you can’t find Kashmiri chili powder, you can substitute with ¾ teaspoons sweet paprika and ¼ teaspoon of cayenne pepper.
- Ghee: This is a type of clarified butter that is a staple in Indian cooking. It has a higher smoke point than butter and adds a richer, nuttier flavor. If you don’t have ghee, you can substitute with avocado oil, vegetable oil, or your favorite neutral-tasting cooking oil.
- Tomato puree (passata): Passata is an uncooked, strained tomato puree that has a smooth and silky texture. It’s made by removing the skins and seeds from ripe tomatoes. Passata is usually sold in glass bottles and labeled as “strained tomatoes” in some regions. This is NOT the same thing as tomato sauce or tomato paste. If you can’t find passata, you can substitute with 2 or 3 medium tomatoes that have been pureed in a blender, enough to make 1 cup of tomato puree.
- Kasoori methi: Dried kasoori methi leaves are commonly used in Indian cooking to add depth to dals, curries, and other vegetable dishes. They are usually crushed by hand and added near the end of cooking.
- Prep time does not include the 8 hour soak time for the lentils and beans.
- This recipe is adapted from the Indian Food Is Easy cookbook by Vijaya Selvaraju and the Bindas cookbook by Mehak Kansal.
- Prep Time: 15 minutes
- Cook Time: 1 hour 30 minutes
- Category: Dinner
- Method: Pressure Cooking
- Cuisine: Indian
So I tried this recipe because there’s not really any authentic Indian restaurants where I live. It turned out to be amazing and reminded me of some of the authentic dal makhani I’ve had in the past. Saving this for future.
Thannk you! I’m so happy you enjoyed it!