Vegan Dal Makhani

Dal makhani is an urad dal and kidney bean butter curry and this vegan version of the popular Indian dish is absolutely mouth watering and delicious!

vegan dal makhani with a swirl of coconut milk and garnished with cilantro served with a bowl of basmati rice

Dal Makhani (pronounced makh-nee) is probably everyone's favorite dal. It's creamy and rich, with a silky almost luscious texture to the gravy. It hits those perfect savory notes, bursting with Indian spices and balanced with just enough of the sweet leaning ones.

Dal translates to pulses (and typically refers to lentils) while makhani means with butter. But while this dish is essentially named "lentils with butter," we all know and love it specifically as the Punjabi dish of urad dal with kidney beans cooked in a creamy rich tomatoey gravy.

As the name might suggest, this dish is not the most vegan friendly of restaurant dals. Traditional recipes often stick an entire stick of butter (that's 8 tablespoons, if anyone is counting) in a recipe such as this, and after that will still add a bit of cream. And that doesn't even include the oil or butter used to fry a tadka.

Now home cooked recipes are likely to decrease the amount of butter or cream, but they are still laden with it, making this dish one of those you probably want to make on your own if you want to avoid dairy.

And thankfully, the vegan version of this dish is just as delicious--if not more! It has the richness without alllllll that butter. It's made creamy with coconut milk (though if you needed to avoid coconut for any reason you could use a thick cashew cream), and the rich flavors come from the carefully chosen spices and pulses used in the recipe.

First we have whole urad dal, also commonly known as black gram. You want to be sure you have the whole bean, which has a black skin. If the beans are white, that means they have been peeled and split (which means faster cooking time, no need to soak prior, etc).

Urad dal is the star of this dish. I have on occasion made a similar recipe with black beluga lentils when out of urad dal, and while the results are very flavorful and good, they certainly aren't 100% the same and it's not the traditional dish.

The black gram lentils create a thick and luscious texture when cooked in water. They're a little sticky and really unique, and worth the little bit of extra time to make a dal with them (and by that I just mean you'll want to soak your lentils for at least 6 hours before cooking! You can do it). Especially when you consider what nutritional powerhouses those little lentils are.

Urad dal is paired with red kidney beans (called rajma) in dal makhani. These buttery red beans provide a nice textural counterpoint in the dish, and help the creamy gravy turn a beautiful red color. While you can cook them from the dried bean alongside the dal, I personally find it super easy to just crack open a can of the beans.

The lentils (and beans if you're making them from scratch) are cooked separately then added into the tadka once fully cooked. Now the tadka refers to a cooking technique of tempering spices in oil before adding to a dish. Cooking the spices in oil releases flavor, as the flavor molecules of spices tend to be oil soluble.

You only want to cook whole spices in oil as ground spices will burn quickly. To keep this recipe easy and more accessible I use pre-ground and store bought garam masala, along with ground coriander seed, ground turmeric, and cayenne (because spicy Indian food is better). We add these ground spices after the liquid so that they do not burn.

Once the whole spices are toasty and fragrant, we add the minced garlic, ginger, and chiles so they have a chance to release some of their best flavors before the onion gets added. The onion is cooked until soft and golden. Together this makes up the tadka.

vegan dal makhani with a swirl of coconut milk and garnished with cilantro served with a bowl of basmati rice

To the tadka we add tomato puree (also known as strained tomatoes), the leftover cooking water from the lentils + a little extra water to make a total of 1 ½ cups liquid, salt, the ground spices, and crush in some fenugreek leaves (kasoori methi). If you don't have the kasoori methi, still make the dish, just know it would be better and more authentic with the fenugreek in it! It's real good 😛 .

This cooks a bit to infuse the spices into the sauce, then add the lentils and beans, bring it to a simmer and let it cook away (covered!) for a half hour over super low heat. I let it cook for a full 30 minutes because this brings out the best flavor.

Dal makhani is one of those dishes that tastes best when simmered for long periods of time over low heat, and will definitely taste somehow magically even better the next day! But in 30 minutes you will have a deliciously richly flavored stew.

At the very end we add the cream, in this case coconut cream. You can scoop it out from the top of a separated can of coconut milk. But if all you have is well combined coconut milk then just use the creamy milk and it'll be great still.

Add water if you need to thin the dal at any point and serve it with fresh cilantro and basmati rice. You can even make some restaurant style naan for an INSANELY delicious and satisfying meal. Feel free to browse through my other Indian recipes for more tasty curries if you want to make a feast!

I love love love dal makhani and I am so glad that this recipe is easily made vegan. Whether you are a diehard dal makhani lover or have never eaten the dish, you really should try it! It's just insanely good and really like no other dal or lentil soup!

If you make this dal makhani, leave a comment below and rate the recipe on the recipe card. And please share your photos with me on Instagram, tag @thecuriouschickpea and #thecuriouschickpea. I love seeing your recreations!

WANT MORE DELICIOUS VEGAN RECIPES?
SIGN UP FOR MY EMAIL NEWSLETTER & FOLLOW ME ON INSTAGRAM, FACEBOOK, AND PINTEREST!

Love urad dal? You may also enjoy my garlic urad dal fry!

vegan dal makhani with a swirl of coconut milk and garnished with cilantro served with a bowl of basmati rice

Vegan Dal Makhani

Yield: 6-8 servings
Prep Time: 40 minutes
Cook Time: 50 minutes
Inactive Time: 8 hours
Total Time: 9 hours 30 minutes

This vegan version of the popular Indian dish, dal makhani is absolutely mouth watering and delicious. It's a creamy butter sauce curry made with urad dal and kidney beans.

4.6 Stars (135 Reviews)

Ingredients

  • 1 cup dry whole urad dal*, debris removed and soaked in plenty of water overnight or for at least 6 hours
  • 4 cups water
  • 15 oz can kidney beans (1 ½ cups), drained and rinsed
  • 3 tablespoon coconut oil or vegan butter
  • 1 teaspoon cumin seed
  • 1 small bay leaf
  • 4-6 cloves garlic, minced
  • 1 teaspoon minced ginger
  • 1-2 chiles, minced with seeds removed if desired
  • 1 small onion, finely chopped (~1 cup)
  • 1 cup tomato puree or strained tomatoes
  • 1 ½ cups water (including water reserved from cooking urad dal)
  • 1-1 ½ teaspoon salt, to taste
  • ½ teaspoon garam masala
  • ½ teaspoon ground coriander
  • ½ teaspoon cayenne, optional & more or less to taste
  • ¼ teaspoon turmeric
  • 1 tablespoon kasoori methi, crushed (optional)
  • ¼-1/3 cup coconut cream or coconut milk*

To Serve

  • Minced cilantro
  • Basmati rice

Instructions

  1. Add the soaked urad dal to a pot along with 4 cups of water. Bring it to a boil, then lower the heat to simmer. Cook covered for 30-40 minutes or until dal is very tender. Turn off heat and strain the lentils, reserving any leftover cooking water.
  2. In a large pot eat the coconut oil or vegan butter over medium. Add the cumin and bay leaf and fry until they crackle and turn a shade darker. Add the garlic, ginger, and chiles and cook about 30 seconds to 1 minute. Add the onion and fry until golden and soft, 4-6 minutes.
  3. Add the tomato puree (watch for splattering), the reserved dal cooking water + fresh water to equal 1 ½ cups of water, 1 teaspoon of salt, garam masala, coriander, cayenne if using, and turmeric. Crush the kasoori methi between your hands into the pot. Simmer for 3-5 minutes.
  4. Add the urad dal and the kidney beans. Cover and simmer over low heat for 30 minutes, stirring occasionally so the lentils don't stick and burn on the bottom of the pan. Taste and adjust salt if desired, add more salt if the dish tastes flat.
  5. Stir in the coconut cream and simmer for 5 minutes.
  6. Garnish finished dish with a swirl of coconut milk and minced cilantro. Serve with basmati rice.

Notes

To cook the urad dal using a pressure cooker: skip the soaking, combine the sorted and rinsed lentils to the pressure cooker with the water and salt. Cook on high pressure for 25 minutes and allow it to release pressure naturally for at least 15 minutes.

*Whole urad dal is also known as black gram. You can substitute black beluga lentils for a different/less traditional but also tasty result. Black beluga lentils do not need to be soaked before cooking, and cook them for 25 minutes. Note that the dal made with black beluga lentils might be more watery, so consider starting with less water (3 cups) and just adding more as necessary as it cooks.

*Use the cream that collects at the top of the can of coconut milk. If your coconut milk is not separated, then don't worry about it and just use the creamy coconut milk, it'll still be great!

Recommended Products

As an Amazon Associate and member of other affiliate programs, I earn from qualifying purchases.

Nutrition Information:
Yield: 8 Serving Size: 1
Amount Per Serving: Calories: 338Total Fat: 17gCarbohydrates: 40gFiber: 6gProtein: 9g

Did you make this recipe?

Please leave a comment on the blog or share a photo on Instagram

64 Comments

  1. Hi there! This dish looks amazing! I do have a question. I can’t seem to find anything about the amount of lentils. How many lentils does this recipe call for? And, what type do you recommend?

    Thanks so much!!! We can’t wait to try it for my husband’s birthday a week from today!

    1. Hi Jessi, I'm a bit confused. Did you find the recipe card at the bottom of the post? It lays out all the details of how to cook this recipe. I use 1 cup of dry urad dal for this recipe but if you don't have urad dal you can substitute a different lentil (use the same amount). As I explain in the post, urad dal has a unique texture and consistency, so substituting it will change the outcome of the dish, but as long as you don't expect it to have the same texture it'll still be a really delicious dal!

  2. Hi. I’ve made this several times and my daal always comes out hard. The last time, I ended up with too little water after the first simmer. Now I lowered the temp compared to last time and they’re super hard. I can’t find the happy medium.

    1. Hi Isabel, that's definitely frustrating! A couple of questions: 1) have you used the same dal (like from the same bag/place) each time? If the dal is very old it can have trouble softening and the cooking time may need to be a lot longer. It's totally okay to add water if it runs low while cooking! And you can always drain out extra water if you end up with too much at the end.
      2) Do you soak your beans beforehand? If your dal is always coming out hard, then make sure to soak them 8 hours or overnight!

      If you have a pressure cooker/instant pot you can try cooking it in there and see if you get better results.

  3. This is the BEST homemade Indian dish I have made. Love it, I already have extra in the freezer. I used whole chopped jalapeños with the small amount of cayenne called for and the heat level was perfect

  4. Let me start by saying, that I've never eaten this dish before I made this recipe. I stumbled across it, and it sounded interesting. Both my husband and myself absolutely loved it. I was surprised my local Co op had the black gram. We live in a very small and remote area. I was super happy we found it. I made mine in a insta pot and used dried kidney beans, also cooked in the insta. Also I used homemade gram masala, and Ancho chilies, we don't care for a ton of heat. This is a recipe we will definitely make often. I had to stop myself at the third bowl, it's that good. Thank you for the recipe and enabling us to broaden our palate!!

    1. Hi Lisa, this review made me so happy to read! I love that you tried a completely new dish and that you enjoyed it so much! The homemade garam masala must have made it extra delicious 🙂

  5. I made the vegan Dal makhani! My daughter who is a good cook herself and quite critical- loved it! This says All!
    Thank you so much for saving me 😍

  6. My story...I had this dish for the first time last week at an Indian restaurant vegan and all. Came home to find a recipe and the one I made was completely flavorless so I found yours and while I did not make it as written I used many components to improve the other one and it did help. Next time I will prepare yours as written except substituting deggi mirch for the optional cayenne as I now have a plentiful supply.

    Two questions for you though...what type of chile? There are so many and I am not a fan of HOT. Also I plan to freeze at least half of the recipe so am wondering if I still add the coconut cream at the end and prior to freezing or add when I am heating to serve.

    Thank you in advance for your expert advise!

    1. Oh I forgot...about the whole cumin seed & bay leave. Are they discarded at some point? I have never worked with whole spices. Thanks!

    2. Hi Sheri, for the chili it's really up to you and what's available to you at your local grocery store. If you don't like spicy use a milder pepper and remove the seeds. You can also leave the pepper whole (optional: cut a slit into the pepper for more flavor) so that you can get some of the flavor but then remove before serving or easily eat around the pepper on your plate.

      You can freeze the recipe with the coconut cream added, no problem.

      For the spices: cumin is a small seed so you don't need (and it would be pretty impossible) to fish out. For the bay leaf you can remove it before serving, or just set it aside when encountered on the plate.

  7. Hi, I have this on my calendar for this week! Our favorite indian takeout is dal makhani and I'm so excited to try making it at home! My question is, what type of chile do you recommend?

    1. You can use any chili, depending on what's available to you and your spice tolerance. Sometimes I'll purchase Indian finger peppers or other hot peppers usually only available in an Indian grocery store, but more often than not I'm using serrano, jalapeño, or other more easily available pepper. Hope you enjoy!

  8. So delicious, thank you! I used brown lentils and black beans, which were very tasty. My blunder was using low fat coconut milk, so I had to add sugar to the dish to balance it. Would not recommend using low fat coconut milk, go for the real deal

  9. Thank you for this wonderful recipe! I made it today for the first time and it came out perfectly! Beautifully spiced (I’m working on increasing my baby mouth spice tolerance) 🤣. I used two jalapeños with about half the seeds left in and served with brown basmati rice that I cooked in my instant pot.

    I am just learning how to make traditional Indian dishes and I love dal makhani. I stopped eating dairy and cannot order it as takeout anymore since restaurants use dairy in the recipe. Thank you so much for teaching me how to make a dairy free version for myself.

  10. I’ve made this recipe before but I forgot and I can’t remember - the water and tomato puree equal to 1.5 cups- is it 1.5 cups of water PLUS the 1 cup of tomato purée? Or is it a total 1.5 cups of tomato purée and water combined?

    1. Never mind I reread the ingredients. Either way this dish is soooo good and we really enjoy it. I didn’t have access to the kasoori methi before so I’m excited to make it tonight with the real ingredients.

  11. Hi, Eva! I came here looking for your Mouthwatering Vegan Lasagna recipe. It's pictured next to the ingredients for this dish on your Pinterest.

    It looks amazing. I'm trying to have one made for me for my birthday, but it's looking like I'm going to have to make it myself. Since I have no cooking skills, the more help I can get the better.

    I'm sure it's just a mixup, and this recipe that's attached to the Pinterest post looks like a gem as well, thanks. Now as for the Mouthwatering Vegan Lasagna itself, Can you send me a link to the recipe? It would help a lot. - Ahn

  12. I made this true to the recipe except I used cashew crema instead of coconut cream.(We are not a fan of coconut). This was better than the restaurants that is made with butter! My husband is vegan and he really hasn't had much Indian food because there is so much butter and paneer.
    He was shocked that this dish was vegan. I will be trying more recipes from your collection! Thank you!

  13. I cheated. I used Ceres canned beluga and red beans instead as I don't have a pressure cooker and wanted something quick. I followed the rest of the recipe and added one cup of cubed kumara (sweet potato) and minted peas. So creamy and yummy!

  14. One of my go to meals to make, the flavor is so good! I add double the kidney beans though so I can have more per bite. I also use ground cumin and it works just as well as the seeds

  15. I have been making this recipe for YEARS. It is a firm favourite! I have made it without kidney beans, I have made it without the coconut cream and it still always tastes delicious. Thank you thank you for sharing such a wonderful recipe. Xx

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.