This post may contain affiliate links. Please read our disclosure policy.
Dal Makhani recipe with step by step photos. Dal Makhani is a classic Punjabi dal that’s prepared with lots of butter and cream. My version is mouthwatering and made with milk instead of cream.
The Best Dal Makhani
To date, the best Dal Makhani I had was at my wedding which was catered by Manohar Delhi Palace in Southern California. While most brides may not eat much on their wedding day, I most certainly did. How do you resist the best wedding caterer’s food in California? Manohar’s Dal Makhani was thick, creamy, buttery, and so delicious, and one that I’ll never be able to replicate since the dal is cooked for hours and hours. I don’t have that kind of time or patience.
The second best Dal Makhani I had was at my sister’s home. My eldest sister, Deepa, is a phenomenal cook. She can literally take the most basic ingredients and whip it up into something gourmet with the least amount of fat and calories. Her ability to come up with new concoctions is a gift. My sister makes Dal Makhani without cream and uses milk instead. She also told me to use lots of ginger and garlic, and use just a few onions. In my version, I didn’t exactly skimp on butter because you need that butter flavor in here else it won’t taste like Dal Makhani.
What is Dal Makhani?
Dal Makhani literally translates to lentils cooked in a butter sauce so obviously it’s rich, creamy, and flavorful. This is the queen of all dals and a classic Punjabi dish that’s slow-cooked for about an hour or longer. Traditionally, Punjabi Dal Makhani is black lentils cooked with lots of butter and cream, however I skipped the cream and instead used whole milk. My version is a healthier Dal Makhani, but it does still contain a good amount of butter, so perhaps a Lightened Up Dal Makhani if you will.
Dal Makhani is:
Rich
Creamy
Delicious
Slow-Cooked
Comforting
Made with NO CREAM
Gluten-Free
Made with Love
How to make Dal Makhani recipe step by step?
Soak the lentils & Pressure Cook in the Instant Pot
1. Soak lentils overnight (or 8 hours) in 5 cups of water. The next day – rinse the lentils well until the water runs clear.
2. To pressure cook the lentils in an Instant Pot – add three and a half cups of water, a bay leaf, green cardamoms, cloves, cinnamon stick, and salt. Stir.
3. High Pressure – 30 minutes. Natural Release 10 minutes or more.
Prep
1. Chop the ginger, garlic, green chilies, and red onion. Set aside.
2. Puree fresh tomatoes and green chilies.
3. This is what you should have. Set aside.
4. Lentils should be done. Remove the bay leaf and cinnamon stick.
5. Mash the lentils about 4-5 times. This will help ensure the dal is creamy.
Make the Masala
1. Heat up a dutch enameled cast iron on medium heat, once hot, add 1 tbsp butter and 1 tbsp oil.
2. Add cumin seeds, let it sizzle for about 30 seconds.
3. Add the ginger and garlic. Cook for about 30 seconds.
4. Now add the red onion. Cook for about 3-4 minutes, until translucent.
5. Add the tomato puree.
6. Stir occasionally and cook down the tomatoes for about 10 minutes on low-medium heat to medium heat.
7. Once a paste-like consistency has formed, add coriander powder and salt. Cook for 10 seconds or so.
8. Add a 1/4 cup of water to prevent the spices from burning. This will also help cook down the tomatoes even further. Cook for about 1-2 minutes smashing down the tomatoes.
Slow-Cook Dal Makhani
1. Add all the prepared dal from the Instant Pot.
2. Stir well incorporating all the ingredients. Reduce heat to low-medium.
3. Add a tablespoon of butter. Stir.
4. Add milk.
5. Stir well and on occasion to prevent any sticking to the bottom of the pan.
6. After 10 minutes, add 1 cup of water. Keep stirring occasionally for the next 20 minutes to prevent any sticking.
7. After 20 minutes, add 1/2 cup of water. Cook for another 10 minutes stirring occasionally.
8. In the meantime, chop fresh cilantro.
Tadka/Tempering & Garnish
1. We have now cooked the dal makhani for 45 minutes. The consistency should be thick and creamy, but fluid. Add fresh cilantro and dried Kasoori methi leaves. Reduce heat all the way to low while you prepare the tadka.
2. Prepare the tadka by heating a little pot with one tablespoon of butter.
3. Add red Kashmiri chili powder (or paprika). Do not use Indian red chili powder else it’ll be super spicy (unless you want to).
4. Pour the tadka/tempering over the dal. This gives your dal richness and a gorgeous color.
5. Stir.
6. Finish with garam masala.
7. Here is the consistency you want.
8. Top dal with another tablespoon of butter for that “makhani” flavor. Serve with white basmati rice or naan. Enjoy!
More Lentils & Khichdi Recipes
- Plain Khichdi – classic recipe
- Masoor Dal
- Green Moong Dal (Sabut Moong Dal)
- Instant Pot Toor Dal
- Spinach Dal Fry
- Tomato Dal / Tomato Pappu – Andhra Style
- Papad wali Dal
Dal Makhani
Ingredients
to pressure cook lentils in the Instant Pot
- 1 cup kali whole urad dal, whole black gram
- 1/3 cup rajma, kidney beans
- 3 1/2 cups water
- 1 tsp salt
- 2 cloves
- 1 bay leaf
- 2 green cardamoms
- 1/2 inch stick cinnamon
to slow cook lentils on the stove
- 1 tbsp avocado oil
- 2 tbsp unsalted grass-fed butter, divided, I like KerryGold
- 1 tsp cumin seeds
- 2 inch piece ginger, chopped
- 8 cloves garlic, chopped
- 1/3 cup red onions, finely chopped
- 1 1/2 cups fresh tomatoes, pureed
- 2-3 green chilies
- 1 1/2 tsp coriander powder
- salt to taste
- 1/2 cup milk
- 1 1/2 cups water, divided
- 1 tsp kasoori methi
- 3 tbsp fresh cilantro, chopped
- 1/2 tsp garam masala
for the tadka/tempering & garnish
- 1 tbsp unsalted grass-fed butter, for tadka/tempering
- 1 tsp red Kashmiri powder
- 3 tbsp fresh cilantro, chopped
- 1 tbsp unsalted grass-fed butter, as garnish
Instructions
Soak the lentils & Pressure Cook in the Instant Pot
- Soak lentils overnight (or 8 hours) in 5 cups of water. The next day – rinse the lentils well until the water runs clear.
- To pressure cook the lentils in an Instant Pot – add three and a half cups of water, a bay leaf, green cardamoms, cloves, cinnamon stick, and salt. Stir.
- High Pressure – 30 minutes. Natural Release 10 minutes or more.
Prep
- Chop the ginger, garlic, green chilies, and red onion. Set aside.
- Puree fresh tomatoes and green chilies.
- This is what you should have. Set aside.
- Lentils should be done. Remove the bay leaf and cinnamon stick.
- Mash the lentils about 4-5 times. This will help ensure the dal is creamy.
Make the Masala
- Heat up a dutch enameled cast iron on medium heat, once hot, add 1 tbsp butter and 1 tbsp oil.
- Add cumin seeds, let it sizzle for about 30 seconds.
- Add the ginger and garlic. Cook for about 30 seconds.
- Now add the red onion. Cook for about 3-4 minutes, until translucent.
- Add the tomato puree.
- Stir occasionally and cook down the tomatoes for about 10 minutes on low-medium heat to medium heat.
- Once a paste-like consistency has formed, add coriander powder and salt. Cook for 10 seconds or so.
- Add a 1/4 cup of water to prevent the spices from burning. This will also help cook down the tomatoes even further. Cook for about 1-2 minutes smashing the tomatoes.
Slow Cook Dal Makhani
- Add all the prepared dal from the Instant Pot.
- Stir well incorporating all the ingredients. Reduce heat to low-medium.
- Add a tablespoon of butter. Stir.
- Add milk.
- Stir well and on occasion to prevent any sticking to the bottom of the pan.
- After 10 minutes, add 1 cup of water. Keep stirring occasionally for the next 20 minutes to prevent any sticking.
- After 20 minutes, add 1/2 cup of water. Cook for another 10 minutes stirring occasionally.
- In the meantime, chop fresh cilantro.
Tadka/Tempering & Garnish
- We have now cooked the dal makhani for 45 minutes. The consistency should be thick and creamy, but fluid. Add fresh cilantro and dried Kasoori methi leaves. Reduce heat all the way to low while you prepare the tadka.
- Prepare the tadka by heating a little pot with one tablespoon of butter.
- Add red Kashmiri chili powder (or paprika). Do not use Indian red chili powder else it’ll be super spicy (unless you want to).
- Pour the tadka/tempering over the dal. This gives your dal richness and a gorgeous color.
- Stir.
- Finish with garam masala.
- Here is the consistency you want.
- Top dal with another tablespoon of butter for that “makhani” flavor. Serve with white basmati rice or naan. Enjoy!
Nutrition
I really want to make this recipe but have a child who is dairy free. Would I be able to substitute ghee for the butter and coconut milk for the milk?
Also, I hate kidney beans…would brown lentils be a good substitute for those or something else?
HI Brooke, This will be a completeky different recipe with all your modifications. 🙂
Substituting ghee for butter is not a big deal. Coconut Milk for milk – OK.
However, to sub kidney beans for brown lentils will completely alter the recipe. Instead of using brown lentils, I would just increase the quantity of “urad dal” or whole black gram lentils.
Please let me know how this turns out and hope this helps. 🙂
Amazing 🤌🤌🤌
Absolutely amazing! I make this almost every week! So easy to make and flavorful
Thanks so much for sharing Payal. So glad you enjoyed it! 🙂
Omg this recipe was AMAZING! Ive always liked Dal Makhani but never tried it at home as i thought it was a long drawn out process. But this recipe was easy to follow. And it was healthy! I even cut the butter down to half and used low fat milk and still had a very decadent, flavorful dal that my entire family loved! 🙂