Vegan Dal Makhani Recipe
This post may contain affiliate links. As an Amazon Associate, I earn from qualifying purchases. Please read my disclosure.This smooth and creamy Vegan Dal Makhani that has been prepared in the Instant Pot gives you sensational flavors in every bite. Hearty lentils, kidney beans, fresh spinach, and warm spices make this healthy, decadent dish super satisfying and family-friendly. It has the added bonus of being gluten-free, vegan and dairy-free too!

Skip the restaurant and make this flavorful Vegan Dal Makhani at home instead. You can get even better flavors because cooking it in a pressure cooker allows all the seasonings and spices to marry together, and it speeds up the cooking time for those dry beans & lentils!
Latest Recipe Video!
Traditional dal makhani is made with lot of cream and butter – making it rich and flavorful, but not very healthy and definitely not vegan friendly!
I love the flavors and textures of homemade Dal Makhani. We make this recipe vegan by using coconut milk and coconut oil instead of the cream and butter. Then we add in richness and flavor with lots of warm spices. This results in a creamy dish that you won’t even be able to tell is vegan!
Tools and Equipment You’ll Need
How To Make Vegan Dal Makhani
“Dal Makhani” simply translates to “Lentils with Butter”. Or technically, pulses (lentils/beans) with butter. Of course, to make this a vegan-friendly version, we’re using coconut oil instead! Here are my other tips on how to make the best vegan dal makhani you’ve ever had.
Ingredients You’ll Need

- Lentils & Beans: In the traditional Indian recipe, each type of dal recipe requires a very specific type of lentil. For Dal Makhani, that lentil is called urad dal — whole black urad dal. Also in dal makhani, red kidney beans are paired with the urad dal to make a complete dish. However, if you don’t have access to an Indian store, it can be challenging to find this type of dal at your local grocery store. And in that case, I recommend using brown lentils or black beluga lentils as a substitute. If you do use urad dal, be sure to soak it for at least 6 hours before cooking. If you use brown lentils, no soaking is required! Also, I used dry lentils and beans, but if you’re pressed for time you could use pre-cooked/steamed lentils and canned kidney beans! Just make sure to adjust the cooking time (you’ll only need about 2-3 minutes in the instant pot!)
- Baby Spinach: You can substitute this for any leafy green you like! Kale or even Swiss Chard would also work.
- Spices: Critical to the amazing flavor in this recipe! Don’t skimp on the spices, but definitely adjust to your taste preferences.
- Coconut Milk: Adds that traditional dal makhani creaminess while keeping this plant-based and vegan friendly!
Step by Step Instructions
Step 1: Cook the lentils, kidney beans + water in the instant pot (you can also do this in a slow cooker or on the stovetop, the cook time will just be longer). In the Instant Pot, cook on high pressure for 30 minutes, natural release.

Step 2: Mash some of the lentils + beans using a potato masher. Add in the baby spinach and let the dal simmer on “keep warm” setting while you make the spice mixture.

Step 3: To make the spice mixture (masala), heat a medium pot over medium heat. Add the coconut oil, onions, garlic ginger paste (or minced garlic/ginger), and cook until the onions are translucent.

Step 4: Add the crushed tomatoes and cook through – about 5 minutes. Add the spices and salt. Cook about 3 minutes more.

Step 5: Add in the lentils/kidney beans/spinach mixture into the large pot. Stir to combine and simmer for 20 minutes, uncovered, on medium low heat. Add water if the dal is getting too thick.

Step 6: Add the coconut milk and let it simmer for another 10 minutes until combined.

What Makes This Vegan Dal Makhani Healthy?
- Protein and Fiber: You will get plenty of fiber and plant protein in every bite of this homemade Dal Makhani, thanks to the lentils and kidney beans. Each serving of this recipe has almost 12 grams of protein and 14 grams of fiber.
- Healthy Fats: You will get lots of healthy fats from the full-fat coconut milk and coconut oil.
- Vitamins and Minerals: As you can imagine, this Dal Makhani is PACKED with lots of great-tasting vitamins and minerals. Iron, Vitamin K, Folate, Copper, Vitamin B6, Vitamin E, Calcium, and more in each helping.
Will Kids Enjoy This Recipe?
This mellow dal is a great introduction to Indian spices for kids of all ages. If your kids enjoy lentils and beans, then most likely they will love this Dal Makhani. It’s so creamy, rich, and has tons of flavor in every bite. It’s not spicy, so you don’t have to worry about that, but you can always adjust the spices if your child is more sensitive to spice. If your kiddo isn’t sure about trying it, then give them a small amount along with a healthy salad or something they like too.

Recipe FAQs
Dal makhani is a traditional Indian dish originating from the Punjab region (in North India). It is a hearty dish made from lentils and kidney beans. Traditionally it is made with butter and cream, but to make this dish vegan these ingredients are substituted with coconut milk and coconut oil.
Dal Makhani goes really well with some brown rice, quinoa, or whole wheat naan/whole wheat tortillas on the side. Some people like to add a little bit of sour cream, Greek yogurt, or cilantro on top as a garnish. Note: If you want to keep this recipe vegan friendly, you should use a vegan yogurt / sour cream. You can even serve it with a fresh garden salad and warm bread to complete the meal. There are no wrong answers when it comes to finishing your menu when serving this dish.
To Store: Make sure the Dal Makhani has cooled down all the way before storing it. Once it’s cooled, then you can pour it into an airtight container and keep it in the fridge. It will last up to 4 days in the fridge.
To Reheat: Reheat the Dal Makhani in the microwave for the quickest method. Just heat it until it’s hot all the way through and enjoy. You could also slowly warm it in a small saucepan, but be sure to stir it frequently, so it doesn’t burn.
To Freeze: This recipe freezes really well! Make sure the Dal Makhani has cooled down all the way, and then transfer to an airtight container. Place in the freezer for up to 4-6 months. Thaw in the fridge before reheating and eating.
Top Tips for Making Vegan Dal Makhani
- Do not use a milk substitute for the coconut milk unless it is full fat. This will affect the way the dish turns out.
- Feel free to swap the spinach for kale if you want to try a different leafy green in this recipe.
- Garnish with your favorite toppings such as fresh tomato slices or cilantro.
- Do not add the coconut milk until the last 10 minutes, or it will not turn out properly in the Instant Pot.
- You can make this ahead of time and serve it the next day – the flavors will just blend together even better as it sits overnight in the fridge!
- Serve with whole wheat naan, sprouted wheat tortillas, brown rice or quinoa.
- If you don’t have an Instant Pot, you can cook the lentils & beans in a slow cooker or even on the stovetop — the cook time will just vary as both will take longer than the Instant Pot!

Check Out These Other Indian Recipes!
- Butternut Squash and Chickpea Curry
- Lebanese Lentil Soup with Spinach
- Chole Masala
- Rajma Masala
- Aubergine Curry
- Indian Stew with Rice and Lentils
- Roasted Cauliflower Curry with Sweet Potatoes
- Spicy Indian Lentil Soup with Swiss Chard
- 25 Healthy Vegetarian Indian Recipes
If you have tried this Vegan Dal Makhani recipe or any other recipe on my blog, then please rate it and let me know how it turned out in the comments below! You can also FOLLOW ME on FACEBOOK, TWITTER, INSTAGRAM and PINTEREST to see more delicious, healthy, family friendly food!
🎥 Watch How to Make It
Dal Makhani Recipe (Healthy, Vegan)
Ingredients
For The Instant Pot, Slow Cooker, or Pressure Cooker
- 1 cup dry brown lentils (about 2.5 cups cooked)
- 1/4 cup dry red kidney beans
- 4 cups water
- 6 oz baby spinach, chopped finely
For The Spices (On the Stovetop)
- 1 red onion, diced
- 1 tbsp ginger garlic paste (or 2 tsp minced ginger + 1 tsp minced garlic)
- 1.5 cups crushed tomatoes (15oz can)
- 1.5 tsp salt (or more to taste)
- 1 tbsp coconut oil
- 1 tsp chili powder
- 1/2 cup full fat coconut milk
- 1 tsp garam masala
Instructions
- Cook the lentils, kidney beans + water in the instant pot (you can also do this in a slow cooker or on the stovetop, the cook time will just be longer). In the Instant Pot, cook on high pressure for 30 minutes, natural release.
- Mash some of the lentils + beans using a potato masher. Add in the baby spinach and let the dal simmer on “keep warm” setting while you make the spice mixture.
- To make the spice mixture (masala), heat a medium pot over medium heat.
- Add coconut oil, onions, garlic ginger paste (or minced garlic/ginger), and cook until the onions are translucent.
- Add the crushed tomatoes and cook through – about 5 minutes. Add the spices and salt. Cook about 3 minutes more.
- Add in the lentils/kidney beans/spinach mixture into the large pot. Stir to combine and simmer for 20 minutes, uncovered, on medium low heat. Add water if the dal is getting too thick.
- Add the coconut milk and let it simmer for another 10 minutes until combined.
Notes
- Do not use a milk substitute for the coconut milk unless it is full fat. This will affect the way the dish turns out.
- Feel free to swap the spinach for kale if you want to try a different leafy green in this recipe.
- Garnish with your favorite toppings such as fresh tomato slices or cilantro.
- Do not add the coconut milk until the last 10 minutes, or it will not turn out properly in the Instant Pot.
- You can make this ahead of time and serve it the next day – the flavors will just blend together even better as it sits overnight in the fridge!
- Serve with whole wheat naan, sprouted wheat tortillas, brown rice or quinoa.
- If you don’t have an Instant Pot, you can cook the lentils & beans in a slow cooker or even on the stovetop — the cook time will just vary as both will take longer than the Instant Pot!
We had this recipe last week and absolutely loved it! I was so surprised at how creamy it was, and the taste was delicious! We loved it so much that we’re making it again tonight and we’re quadrupling the recipe so that we have leftovers.
Awww yay!! I’m so happy to hear that Cayce! Thanks for letting me know! 🙂
So very well explained. Each step is so precisely outlined. thank you for this recipe. Keep up the good work.
Thanks so much!!
I love how healthy and hearty this dinner is! I love that this will also fit any lifestyle! I can’t wait to give this a try soon.
Totally! I can’t wait for you to try it!
I love that this can be made in the Instant Pot. Worth trying for sure!
Yess! Saves so much time! I’m sure you will love it!
We are massive curry fans in this house and I just love dal. This looks like a delicious and frugal recipe.
Yes! It’s super budget friendly and tastes great!
Low calorie and great for using pantry ingredients. This looks delicious.
Totally! Thanks so much! 🙂
This is such a simple and budget friendly meal. I can’t wait to try it.
Totally! I’m sure you will love this recipe Dannii!