Skip to Content

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 1/2 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!


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.


  • 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 1/2 cups), drained and rinsed
  • 3 tbsp coconut oil or vegan butter
  • 1 tsp cumin seed
  • 1 small bay leaf
  • 4-6 cloves garlic, minced
  • 1 tsp 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 1/2 cups water (including water reserved from cooking urad dal)
  • 1-1 1/2 tsp salt, to taste
  • 1/2 tsp garam masala
  • 1/2 tsp ground coriander
  • 1/2 tsp cayenne, optional & more or less to taste
  • 1/4 tsp turmeric
  • 1 tbsp kasoori methi, crushed (optional)
  • 1/4-1/3 cup coconut cream or coconut milk*

To Serve

  • Minced cilantro
  • Basmati rice


  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 1/2 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.


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

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

Rachel Sekhinah

Saturday 8th of July 2023

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!


Sunday 7th of May 2023

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!


Tuesday 10th of January 2023

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


Thursday 12th of May 2022

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?


Thursday 12th of May 2022

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.

Karina Valentinas

Monday 1st of November 2021

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.

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

Skip to Recipe