Dal makhani is one of those deeply comforting, slow-cooked dishes that traditionally leans hard on butter and cream — which is exactly what makes a plant-based version feel like such a win when it actually delivers. This one gets its signature richness from full-fat coconut milk and a tablespoon of vegan butter stirred in at the end, giving you that silky, coat-the-back-of-a-spoon texture without any dairy in sight. The base is whole black lentils soaked overnight and simmered until they're tender and just starting to break down, which is the real secret to that thick, almost stew-like consistency. A separately built tarka — cumin seeds bloomed in oil, golden onion, garlic, ginger, and a careful layering of coriander, turmeric, Kashmiri chili, and garam masala — gets cooked down with crushed tomatoes until the sauce deepens and the oil starts to separate at the edges, which is your cue that the flavor is exactly where it needs to be. Everything comes together in one pot for a final low simmer that lets all those layers meld into something genuinely complex. Serve it over basmati rice or scoop it up with warm naan, and finish with a handful of fresh cilantro if you have it. Makes 4 generous servings.
About Fig
Fig is a food discovery app that helps you find foods and recipes that fit your dietary needs. Whether you have food allergies, intolerances, or follow a specific diet, Fig makes it easy to eat with confidence.
2 tbsp neutral oil (such as avocado or canola oil)
1 medium yellow onion, finely diced
4 garlic cloves, minced
1 tbsp fresh ginger, grated
1 can (14 oz) crushed tomatoes
1 tsp cumin seeds
1 tsp ground coriander
1 tsp garam masala
½ tsp ground turmeric
½ tsp kashmiri chili powder or mild paprika
½ tsp salt, plus more to taste
For finishing
½ cup full-fat coconut milk
1 tbsp vegan butter
½ tsp garam masala
For serving
fresh cilantro, roughly chopped (optional)
cooked basmati rice or warm naan, for serving (optional)
Instructions
1
Place the black lentils in a large bowl, cover with cold water by at least 2 inches, and soak for 8 hours or overnight. Drain and rinse through a fine-mesh strainer.
2
Transfer the soaked lentils to a large heavy-bottomed pot or Dutch oven. Add the kidney beans, 4 cups water, and 1 tsp salt. Bring to a boil over high heat, then reduce to a steady simmer, cover, and cook for 35–40 minutes, until the lentils are completely tender and beginning to break down at the edges.
Want the full recipe?
Create a Fig account for step-by-step instructions, access to our full recipe library, and more!