After living in India for just over two years I just can’t get enough of lentils, and I’ve been working on this delicious vegan dal makhani recipe for quite a while. The perfect balance between easy and delicious, yet authentic-tasting Indian food.
Why you’ll love it:
This vegan dal makhani (also known as butter lentils) can be made with precooked lentils and kidney beans to speed up what’s normally a lengthy process.
Using pre-cooked legumes will get this recipe ready in just 45 minutes with a minimum of chopping.
Super filling and cheap to make, this homemade version is just as good as a restaurant-style version at a fraction of the price and calories. Ditch the takeaway and wow your family, friends, or guests with this fakeaway!
If you’re like me and you love Indian food, especially easy vegan and vegetarian Indian food, you might want to check out some of my other recipes, or go the whole hog and serve various curries and pretend you’re at a restaurant! Try them out (you won’t be disappointed):
- Chickpea spinach curry (chana palak), ready in just half an hour!
- One-pot vegan biryani! No muss, no fuss.
- Vegan tikka masala – this one is technically a British take on Indian food, but it’s still darn tasty.
- Easy onion raita – takes just minutes to make.
What to serve it with?
Dal makhani is a filling lentil and kidney bean curry from the north of India and is perfect served with roti or naan bread.
I usually serve curries with Indian flatbreads first to tear off and dip in and scoop up the luscious sauce with, and have steamed basmati rice on standby to mix with any leftover sauce.
You can also add a dollop of plain unsweetened vegan or non-vegan yogurt, or serve tasty raita on the side. Honestly, it’s so rich that a bit of bread and/or rice is all you need.
Check out the image below to check if you have what you need.
I use crushed canned tomatoes, not fresh. If you don’t have cumin seeds you can add ground cumin with the other spices.
This is a very mild curry but you can of course omit the green chili pepper, or substitute it with a red one or a quarter teaspoon of ground cayenne.
The lemon juice should be fresh, not bottled, the coconut milk full-fat, and for the vegan butter, you can use Earth Balance buttery spread or any other plant-based spread that tastes good, including margarine that doesn’t have animal fats in it.
How to make it
Heat the sunflower oil over medium-high heat and add in the cumin seeds when the oil is hot. Let the cumin seeds sputter and brown but don’t let them get too dark (nearly black) as they’ll be bitter.
If you don’t have cumin seeds or just plain forget to add them in first, you can substitute by adding ground cumin with the other spices later.
When the seeds have browned, add in the chopped onions and stir well. Fry until the onions are golden and tinged brown at the edges, as in the photo below. Stir often to prevent them from burning. Then add in the crushed garlic and finely chopped green chili.
Fry for two minutes until the garlic doesn’t smell “raw” anymore. Next add in the ground ginger, ground coriander, turmeric, ground cinnamon, ground clove, and ground nutmeg, as in the photo below.
For the ground cinnamon, clove and nutmeg you’ll either want to add in a healthy pinch or if they are stored in the little jars with holes, two shakes.
Mix very well and fry another two minutes, at which point you should be able to smell the deliciously toasted spices and it should look like the image below.
At this point, you’ll need to add in the cooked lentils and kidney beans. An authentic dal makhani is normally cooked slowly for many hours (indeed I’ve had the pleasure of tasting two-day dal makhani in India).
I have TOTALLY cheated by using precooked lentils and kidney beans in this recipe to make it faster.
I can’t get precooked black lentils here in Spain, so I’ve used some hearty brown lentils instead. However, I do recommend using cooked black lentils if you can get them. I’ve also made this recipe with soaked brown or black beluga lentils in the pressure cooker.
If you wish to use dried lentils in the pressure cooker or instant pot you can do so easily and I’ll give instructions below.
Add in the cooked lentils and kidney beans and mix well. Next add the pureed tomatoes, water, and vegetable stock.
If you’re using precooked beans and lentils, you’re going to want to simmer them on medium-high for ten minutes, on medium for ten minutes, and then add the salt and simmer a further ten minutes on a low-medium heat until they resemble the photo below and look a little dry.
Like risotto, you’ll need to keep an eye on your lentils and stir them often, or they will stick and burn to the bottom of the pan.
If in doubt, cook less time and check. You can always cook more, but burnt lentils are hard to recover from.
Bear in mind that if you use dried lentils and cook via the stovetop/pressure cooker/instant pot method, once cooked add the salt and you’ll still need to cook them down over a low-high heat stirring often until they look like the picture below.
Once the lentils are cooked down, add the coconut cream, lemon juice, garam masala and cook for a further two minutes before mixing in the chopped fresh cilantro. Mix well and serve, enjoy!
Frequently Asked Questions
It’s a little high in fat to be considered truly healthy but does have plenty of fiber, B vitamins, iron, and protein, among other vitamins. Everything in moderation!
Leftovers will keep tightly covered in the fridge for up to five days, or three months in the freezer. the legumes will continue to release starch so just loosen your curry with a little water if it’s too thick before reheating in the microwave or on the stovetop, and serving.
Did you make this recipe? Let me know how much you loved it with a star rating ⭐⭐⭐⭐⭐, review, and/or comment below.
- 2 Tablespoons sunflower oil (or any neutral oil)
- 1 large onion
- 4 cloves garlic
- 1 green chili
- 1½ teaspoon cumin seeds
- 1 teaspoon ground ginger
- ½ Tablespoon ground coriander
- ½ teaspoon ground turmeric
- 1 large pinch ground cinnamon
- 1 large pinch ground clove
- 1 large pinch ground nutmeg
- 2.5 cups cooked lentils (400g)
- 1 cup cooked kidney beans (200g)
- ½ cup canned crushed tomatoes
- 1½ cups vegetable stock
- ¼ teaspoon salt
- ⅓ cup full fat coconut milk
- 1 - 1½ Tablespoons lemon juice to taste
- 1 teaspoon garam masala
- 1½ Tablespoons vegan butter (plant-based spread/dairy-free margarine)
- 2 Tablespoons chopped cilantro
- Heat the sunflower oil (or any flavorless oil) on medium-high heat and brown the cumin seeds.
- Finely chop the onions, add and fry until golden and slightly brown at the edges, around 2-3 minutes.
- Finely chop the green chili pepper and crush the garlic and add. Fry two minutes more until the garlic doesn't smell "raw" anymore.
- Now add in the ground ginger, ground coriander, turmeric, cinnamon, clove, nutmeg and fry for one more minute.
- Add the cooked lentils and kidney beans, canned crushed tomatoes, and vegetable stock.
- Cook ten minutes on medium-high, ten more on medium, add the salt, and cook a further ten on low until most of the liquid is gone. Stir often or the lentils will stick and burn.
- Add the coconut cream, lemon juice, and garam masala and stir well. Cook two minutes more.
- Stir in the chopped fresh cilantro just before serving, taste, and adjust the salt if necessary. Done!
1) This will keep up to 5 days in the fridge and is easy to double or triple up. Freezes well, up to 3 months.
2) At the stage of adding in the cooked lentils, you can sub out dried lentils and cook according to pressure cooker/instant pot/stovetop timings but don't add the salt in until the lentils are cooked and you will still need to cook down the lentil mix until most of the liquid is gone.
3) I don't recommend using dried kidney beans due to the time difference in cooking lentils and kidney beans. If you must, skip the kidney beans altogether and substitute for the same amount of cooked lentils or half the amount if dried lentils.
Amount Per Serving Calories 348Total Fat 16gSaturated Fat 5gTrans Fat 1gUnsaturated Fat 10gCholesterol 0mgSodium 202mgCarbohydrates 40gFiber 13gSugar 5gProtein 15g