Go Back
+ servings
Front partial shot of vegan dal makhni or dahl makhani with a swirl of cashew cream and rice in background
Print Recipe
4.67 from 3 votes

Vegan Dal Makhani

Dal Makhani is a North Indian "dhaba" style dish of creamy lentils flavored with butter and garnished with cream. My vegan version is dairy-free, of course, but it's also made with just 10 pantry ingredients and is as traditional as it can get, giving you a true restaurant experience in the comfort of your home. This is also a gluten-free, soy-free recipe and it can be nut-free, making it delicious and healthy eats for everyone.
Prep Time10 mins
Cook Time20 mins
Dal cooking time1 hr 30 mins
Course: Dal, Main Course
Cuisine: Curry, gluten-free, North Indian, nut-free, Soy-free, Vegan
Servings: 10 servings
Calories: 131kcal



  • 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 tsp 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 tbsp of garlic and the ginger in a mortar and pestle and crush into a coarse paste. Set aside.
  • Blend the cashews with 1/4 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.


Calories: 131kcal | Carbohydrates: 18g | Protein: 7g | Fat: 4g | Saturated Fat: 1g | Potassium: 276mg | Fiber: 6g | Sugar: 3g | Vitamin A: 625IU | Vitamin C: 7mg | Calcium: 25mg | Iron: 3mg