Go Back
+ servings

Vegan Dal Makhani

Prep Time1 hr 30 mins
Cook Time1 hr 30 mins
Total Time3 hrs
Servings: 4 to 6
Calories: 412kcal
Author: Nisha Vora


  • 1 cup (205g) whole urad dal (aka black gram)*
  • ¼ cup (44g) dried kidney beans**
  • 1 teaspoon baking soda

Whole Spices

  • 1 ½ tablespoons grapeseed oil or neutral oil
  • 1 2 to 3-inch cinnamon stick
  • 4 green cardamom pods, seeds only (¼ heaping tsp of seeds)
  • 3 whole cloves
  • 1 bay leaf
  • 1 teaspoon cumin seeds

Aromatics and Ground Spices

  • 1 medium-large red onion, very finely diced
  • 1-inch piece fresh ginger, minced or grated
  • 4 garlic cloves, finely chopped
  • 2 tablespoons tomato paste
  • teaspoon nutmeg (I prefer freshly grated, but ground is fine)
  • 1 teaspoon coriander
  • ½ teaspoon Indian red chile powder**** (1 tsp for a spicier version; 1/4 tps for a mild version)
  • 2 teaspoons kosher salt*****
  • Freshly cracked black pepper
  • 2 medium tomatoes (8-10 oz, 230-280g), diced

Other ingredients

  • 3 ½ to 4 cups (840-960 mL) liquid (water + bean cooking liquid)
  • ½ cup (120 mL) Cashew Cream (recipe below) or full-fat coconut milk***
  • 1 cup (12g) cilantro leaves and tender stems, chopped
  • 1 tablespoon lemon juice, plus more as needed
  • ½ to 1 teaspoon organic cane sugar (as needed)

Dhungar method (for smokiness; optional)

  • 1 to 2- inch piece of lump charcoal
  • ½ teaspoon neutral-flavored oil


  • 3 tablespoons (42g) vegan butter
  • 1-inch piece ginger, peeled and cut into matchsticks (optional; only if you love ginger)
  • 1 tablespoon kasoori methi, crushed with your hands
  • 1 teaspoon garam masala
  • ½ teaspoon Indian red chile powder

Cashew Cream (optional)

  • 1/2 cup (70g) raw cashews
  • 6 tablespoons (90 mL) water, more as needed
  • 1 tablespoon freshly squeezed lemon juice
  • 1/2 teaspoon kosher salt


  • Rinse the whole urad dal and kidney beans and scrub them with your hands; drain the water and repeat this process a few times.
  • Cover the lentils and beans with a few inches of cold water. Add the baking soda. Soak for 8 hours (or overnight). Drain and rinse several times, until the water runs clear.
    Note: you can quick soak them by covering them with boiling water for 4 hours.
  • Cook the lentils and beans. Transfer them to a medium saucepan and cover with 1 to 2 inches of water and ½ teaspoon kosher salt. Cover and bring to a boil, skimming off the foam that rises to the surface once it starts to boil.
    Boil uncovered for 10 minutes, then reduce the heat to maintain a simmer and simmer for 80 to 90 minutes until the beans and lentils are very soft. If the water evaporates during simmering, add freshly boiled water as needed.
  • Fit a bowl underneath a colander and drain the lentils and beans, saving the cooking liquid. Measure out the cooking liquid and add enough water to make 3 1/2 cups (4 cups for a slightly looser dal). Mash the lentils and beans with a potato masher, fork, or large wooden spoon. Set both aside for now.
  • Start cooking the dal. Heat the 1 ½ tablespoons oil in a deep saute pan or Dutch oven over medium-high heat. Once hot, add the cinnamon stick, cardamom, cloves, bay leaf, and cumin seeds. Cook for 45 to 60 seconds, swirling the pan frequently, until aromatic and sizzling.
  • Add the onions with a pinch or two of salt. Cook, stirring occasionally, until the onions are starting to brown, 5 to 7 minutes. Add in a few splashes of water towards the end to pick up the fond and to prevent them from getting too brown.
  • Add the garlic and ginger, and cook for 1 minute, tossing frequently. Add the tomato paste, nutmeg, coriander, red chile powder, 1 1/2 to 2 teaspoons of kosher salt, and pepper to taste. Stir frequently for 60 to 90 seconds. Add the tomatoes and their juices, and cook until broken down and softened, 2-3 minutes.
  • Pour in the bean liquid/water mixture and scrape up any browned bits to deglaze the pan. Add the mashed lentils and beans, and stir well.
  • Bring to a boil, then reduce the heat to maintain a simmer. Stir every 10 minutes for at least 60 minutes, or up to 80 minutes (slow cooking enhances the flavors and makes it extremely creamy). During simmering, add more freshly boiled water, as needed, if it looks like it’s drying up.
  • Pour in the cashew cream or coconut milk and simmer for another 10 minutes, stirring occasionally to prevent sticking.
  • Dhungar Method (optional, for smokiness). Take a small stainless steel or glass bowl and position it in the middle of the cooked dal. If you don't have such a bowl, take a medium onion and cut it in half, around the orbit. Hollow out one half.
  • Using tongs, take a 1 to 2 inch piece of lump charcoal and hold it directly over an open flame (I use my gas burner). Rotate it from time to time and heat for 2 to 3 minutes, until it turns red hot in spots and has a few white markings.
    Note: I don't recommend heating it for more than 3ish minutes, as the smoky flavor can become overpowering.
  • Working as quickly as you can, transfer the charcoal to the small bowl and pour ½ teaspoon of neutral flavored oil on top of the charcoal (it will start smoking immediately). Cover the pan with the lid and steam for 2 to 3 minutes. Remove the lid and use tongs to remove the small bowl. Discard the charcoal. Stir the dal again.
  • Add in the cilantro and lemon juice and season to taste with salt. If it’s a bit too acidic for your taste, add the sugar. Fish out the cinnamon stick and bay leaf.
  • Make the tadka. Heat the vegan butter in a medium frying pan on the stove over medium high heat. Once melted, add the ginger (if using) and cook for 30 seconds, stirring frequently. Crush the kasoori methi with your hands into the dal, and add the garam masala and red chile powder. Cook for another 30 seconds, swirling the pan frequently. Pour the tadka over the dal and serve.
  • If making the cashew cream. Cover the cashews with some water in a saucepan. Bring to a boil and boil for 15 minutes. Drain and rinse cashews (Or soak overnight in cool water).
    Transfer the drained cashews to a food processor. Add the water, lemon juice, and salt. Blend for 3-4 minutes, scraping down as you go, until all cashews are pulverized and the mixture is smooth.
    Note: you can double this recipe and make it in a high-powered blender (the amount here doesn't have enough liquid for most blenders)



* Whole urad dal is sometimes called “black lentils” but is not the same as black beluga lentils. 
** See the “Ingredient Notes” section for how to use canned kidney beans
*** My preference is cashew cream over coconut milk, but both versions are tasty. 
**** Note: Indian red chile powder is made exclusively from chili peppers; it is not the same as Western chile powder sold in standard grocery stores (a blend of chili peppers and spices); it is significantly spicier. 
**** Use a little more than half the amount of salt if using sea salt.