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 for a hurried weekday. But this one 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. You can make this dish 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.
What do I serve with the Dal Makhani?
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 Recipe
Vegan Dal Makhani
- 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
- 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.