Dal Makhani is a North Indian "dhaba" style dish of creamy lentils flavored with butter and garnished with cream. My vegan dal makhani is dairy-free and it needs just 10 pantry ingredients, but it is also as traditional and authentic as it can get, giving you a true restaurant experience in the comfort of your home. Like most dal recipes, this is gluten-free and soy-free. And it can be nut-free, making it delicious and healthy eats for everyone. Serve with basmati rice or roti.

There are perhaps a million recipes for Dal Makhani, the fabled Indian restaurant style dish, on the internet, and half of them are for vegan versions.
I've shared a couple myself, including an Instant Pot version. This recipe, however, is unequivocally my favorite vegan Dal Makhani recipe: a smooth, creamy, buttery one that takes a little longer than the IP version but also one that requires only a handful of pantry ingredients to cook and is as close to the real thing as it can get without cream and butter.
There's something quite sublime about a Dal Makhani, and if you've eaten it, you know why. Its rich, buttery flavor is to die for, and it's not brashly spicy as dishes from India sometimes tend to be, which makes it good eats for everyone. But if you like to overload on flavor, mind you, there's no deprivation of your senses here. Because hidden behind that velvety texture and mouthfeel are complex, barely-there notes of spicy, sweet, tangy and bitter that are as surprising as they are delightful.
Making a vegan Dal Makhani is simple--it's actually one of the easiest dals you will ever make and it's pretty much fool-proof. But there is one basic conundrum that arises when you try to veganize a Dal Makhani: the primary flavoring ingredient in this north Indian dal is makhan, or butter.
The tendency among many vegan cooks is to substitute the butter with something else that's creamy, like coconut milk. But that makes no sense for at least a couple of reasons.
For one, if you're looking to emulate a buttery flavor, you want something that will taste buttery. Adding coconut, a distinctive flavoring agent by itself that tastes nothing like butter, gives your makhani dish a very different flavor. Which would be well and good -- and even tasty, I suppose -- if you were looking to eat a Dal Coconutty ;). But it's simply not a Dal Makhani, see? (If you're looking for a creamy, coconutty dal, try this Creamy Moong Dal, one of my favorites!)
Also, if you want to cook Indian cuisine, the first thing you should learn and understand is that there is no such thing as a single Indian cuisine. When you make food specific to a certain region of India, you don't just want to substitute with other ingredients that you think broadly belong to "Indian" cuisine. You need to give some thought to whether or not that flavor would preserve the integrity of the dish you're making and whether it belongs there in the first place.
India's regional cuisines sprung from the ingredients that grew locally in those regions. Coconut, for instance, grows abundantly along the west, south and some parts of eastern India, and it's a common ingredient and flavor in the food cooked by locals in those areas. But in north India, including in Punjab, which is one of India's biggest dairy producers, it is butter and cream and ghee and other dairy products that add creaminess and richness to foods. Coconut is rarely, if ever, eaten there and it's certainly never used in a Makhani.
I have always used vegan butter and cashew cream in my makhani recipes, and that's what I use in this vegan Dal Makhani. Together, they add the same rich, smooth taste to the vegan makhani without taking away from the real flavor of this dish. And at just 131 calories a serving, they definitely do not take away from the utter healthfulness of this makhani.
Make it, for a true Indian restaurant dining experience at home. And then come back and tell me all about it in the comments below!
How to make the best vegan Dal Makhani
- In Indian kitchens, the lentil that goes into every dal recipe is chosen for a specific reason, and for a Dal Makhani, that special lentil is whole black urad dal or saboot urad, also known as black gram dal. This is a rounded lentil, ivory-white on the inside with a thin black skin on the outside, and it has a somewhat nutty flavor and a smooth, slightly slippery texture when cooked that gives this dal just the right finish. It is delicious in this spicy urad dal recipe. You can make this dal makhani with the split white urad dal, used in idlis and dosas, if you don't have the whole lentil, but you won't get quite the same texture.
- If you don't have the urad lentils, use whatever you do have. Green or brown lentils, French puy lentils, or even Beluga lentils, which bear a skin-deep resemblance to saboot urad, are all okay.
- Many Punjabi cooks, but not all, add some rajma, or red kidney beans (also a legume or pulse that's eaten widely in the Punjab) to their Dal Makhani. I like adding some rajma to my recipe as well, mainly because it gives a nice variation with its slightly al dente texture that contrasts nicely with the creamy richness of the dal. But if you don't have red kidney beans, leave them out, that's fine too.
- There's no onion in this recipe, and it's not needed, but if you want to add it, add finely chopped onions to the lentils while you're cooking them.
- The only real time investment you need to make for this recipe is the cooking of the lentils and beans. While I am guilty of cooking my lentils in the pressure cooker when I am in a hurry, for your makhani to have a texture that's as close as possible to the real thing, you should cook the lentils on the stovetop for at least an hour to an hour and a half or however long it takes for them to become creamy. This is not hands-on time, so you can definitely put the lentils on the stove and go watch TV or clean the house or scrub down the groceries or call your BFF or do whatever it is you do when you have time on your hands. Just remember to check on the lentils once in a while to be sure that they haven't dried out. Add more water if they have. Keep in mind the kidney beans will take longer than the black lentils to cook, but that's okay--you want the lentils to be creamy and mashable and the beans to be just tender.
- Other than the lentils, all you'll need for this recipe are garlic, ginger, paprika (or degi mirch, a bright-red, mild to hot chili pepper powder used in Punjab and available at Indian grocery stores anywhere), tomato puree, kasoori methi (dry fenugreek leaves), vegan butter and cream. There's no need to add garam masala or turmeric, even if you have them around.
- You can use canned tomato puree in this recipe, or you can use fresh, pureed tomatoes. Both work just as well.
- Add the cashew cream at the tail end of cooking. If you can't eat nuts, or don't want to use cashews, use pumpkin seeds and make a cream by blending the seeds with water.
Serving suggestions
You can serve this vegan dal makhani with a vegan naan or this easy Jeera Rice or both. Or serve it with a soft, flaky roti.
If you're making this a special meal, serve alongside a leafy curry, like Vegan Palak Paneer with Tofu or Sarson ka Saag. Add a Vegan Cucumber Raita on the side.
Feeling even more decadent? Wash it all down with a vegan Mango Lassi.
More vegan Punjabi recipes you might like
- Easy Chana Masala
- Instant Pot Vegan Butter Chicken with Tofu
- Aloo Paratha
- Aloo Kulcha
- Punjabi Samosa
- Tofu Makhani
More dal recipes you might like
Vegan Dal Makhani
Ingredients
- 1 cup urad dal (black gram dal)
- ¼ cup red kidney beans (rajma)
- 1 bay leaf (optional)
- 1 teaspoon vegetable oil
- 1 tbsp + 1 tsp garlic (divided)
- 1 tablespoon ginger
- 2 teaspoon paprika (or preferably deggi mirch powder)
- 1 tablespoon kasoori methi (dry fenugreek leaves, crushed)
- 2 cups tomato puree
- 1 teaspoon sugar
- 3 tablespoon vegan butter
- 2 tablespoon raw cashews (or pumpkin seeds if nut-free)
- Salt to taste
Instructions
- Place the urad dal and rajma together in a large bowl and wash in three to four changes of water, rubbing the beans to remove all the dirt that may be sticking to them. Finally, top the beans with water by at least three inches. Let the beans soak at least eight hours or overnight.
- Place the drained beans and lentils in a large stockpot along with 1 teaspoon of garlic and a bay leaf, if using. Cover by at least an inch and a half of water and bring them to a boil. If you see a white, frothy layer accumulate on top, skim it away. Cover and cook the lentils for an hour and a half or until the black lentils are really tender and the kidney beans are cooked but not falling apart.
- Place 1 tablespoon of garlic and the ginger in a mortar and pestle and crush into a coarse paste. Set aside.
- Blend the cashews with ¼ cup of water into a very smooth cream. Set aside.
- Heat the oil in a saucepan. Add the ginger-garlic paste, saute until the garlic begins to turn blonde, then add in the paprika and the kasoori methi. Stir quickly and immediately add the tomato puree.
- Cook the tomato puree for five minutes, stirring frequently. Stir in the sugar and add the cooked dal along with the liquid it was cooked in. If it looks like you have too much liquid, hold some back and add according to the consistency you want. If there's too little liquid, add water to thin the dal out.
- Bring the dal to a boil, cover, turn down the heat, and let it cook for five minutes. Use a potato masher or a heavy ladle to mash some of the lentils so the consistency gets creamier. Stir in the vegan butter and salt to taste. Add the cashew cream.
- Check seasoning and add more salt if needed. Turn off the heat and serve hot or warm before serving.
Inga R
Is the ginger fresh or powdered dry?
Vaishali
Fresh ginger please!
Leilani
Delicious and easy recipe. I didn't have fenugreek leaves so I used fresh celery leaves (with the amount adjusted to a 3:1 ratio). I LOVE the pumpkin seed crema. My pumpkin seeds were raw so I toasted them first and this made the whole dish nice and toasty-- highly recommend!!
Vaishali
That sounds amazing Leilani. Thanks for the feedback!
Heather
I made this again tonight, and, as always, it was hella yummy. Thanks for such great recipes. Happy New Year!
Vaishali
So great to hear from you Heather. Happy New Year! 🥳
Michael
Hi. I love dal and i've made this recipe a few times but i've never had enough tomato puree around to put in as much as called for. However, i wonder if the amount listed here is correct: 2 cups of tomato puree to 1 cup of dried lentil. This will be a really tomato-y dal.
Vaishali
Hi Michael, Dal Makhani has quite a bit of tomato in it and I find this much perfect. Keep in mind that a cup of dry lentils will yield about four cups cooked. That said, if you prefer less tomato you can use less, there are no hard and fast rules here and your food should be appealing to your own tastebuds. 🙂
Michael
Thanks for the prompt reply. I love that Indian cooking is less scientific and more artistic and taste-driven. I often laugh at when people who comment on recipe blogs saying "I didn't follow the recipe and it came out terrible."
But I made this tonight and it came out great. I tripled the recipe, cut the tomato in half, included an onion, and put onion/garlic/ginger into the food processor since I don't have a mortar and pestle.
I'm looking forward to trying your palak tofu recipe soon!
Vaishali
So happy to hear! Amd yes, a number of dal makhani recipes now include onions, although traditionally they are made without. Sounds like you found a combo that works for you. 🙂 Let me know if you try the palak tofu recipe!
Faythe
happy to find your web site. I purchased a box of Indian spices, and am eager to use them. But I'm in South Dakota, which is not vegan friendly. I'm assuming I can substitute brown lentils for most of the dal recipes. They are the only lentil readily available in our small town grocery stores. Split peas are usually very old and never really soften with hours of cooking. I like to buy local, and support these businesses, [use them or use them] so I'm willing to miss some authenticity for practicality.
Vaishali
Hi Faythe, brown lentils will work nicely in dals--they have a really nice, nutty flavor that'll go with most Indian dishes. Split peas are usually best cooked in a pressure cooker or an Instant Pot--they will take very long to cook otherwise. 🙂
Penelope
Hi Vaishali
Just wanted to say absolutely love your vegan Indian recipes. I've been vegan since January 2020 and your recipes have been a life saver. We adore you chickpea and spinach curry, its on the menu almost every week. Thank you for sharing so generously
Vaishali
Penelope, thank you. That's so nice to hear.
Bob
Hi,
I noticed that you are from DC. Well I have visited the Sikh temple on Mass ave a few times and I love the bean dish they serve when large crowds are there. Is this that dish? I have looked on the internet for a while for recipes and am not sure. But I wanted to replicate what they serve.
Vaishali
Hi Bob, it could very well be--Dal makhani is often served at langars.
J Rose
What is 1 gram cup? ( udad dal, washed and drained)
Vaishali
Hi Barry, you can certainly make this in a slow cooker, but you will have to start out with cooked or canned lentils and beans, because neither will cook fully in a slow cooker or turn mushy enough. You can get canned kidney beans, and cook the lentils on a stovetop. Follow all steps until the point where you add in the cooked dal and beans, and then put all of it in the slow cooker and slow cook on medium for four hours.
Barry
Thank you so much for the info, I'll try it this week.
pixel8ing
so glad you are back! have been wondering where you are - even mentioned missing you & your blog to a family member last night during a long phone conversation. thank you for giving your time to share thoughts and stories and recipes!!
Ambika Devi
So great to have you back, I've missed you! Also wonderful news you are taking care of you and the family first. Then I now we are well taken care of. Astrologically speaking, and that is what I do and write about among other things, it is small wonder you dove out of sight for a bit. We all did. This is one of my favorite dishes. Love to you, Ambika