
This vegan dal makhani transforms humble lentils and beans into a rich, creamy curry that rivals the traditional butter-laden version. I developed this recipe after years of trying to recreate the luxurious texture of restaurant dal makhani without dairy, and coconut milk turned out to be the perfect solution.
I first made this recipe during a cold winter evening when I was craving something warm and comforting. The aromatic spices filled my kitchen with the most incredible scent, and now this is my go to meal when hosting friends who follow plant based diets.
Ingredients
- Brown lentils: these are the foundation of the dish providing earthy flavor and hearty texture. Look for lentils that appear uniform in size for even cooking
- Kidney beans: add additional protein and a pleasant contrast in texture. Rinse canned beans thoroughly to remove excess sodium
- Olive or avocado oil: helps bloom the spices and sauté aromatics. Choose cold pressed for best flavor
- White onion: creates a flavor base. Select firm onions with no soft spots
- Fresh garlic and ginger: these aromatics are essential for authentic flavor. Always use fresh rather than pre minced for vibrant taste
- Tomato paste: provides concentrated umami and slight acidity. Look for paste in tubes for best flavor
- Coconut sugar: balances the acidity with subtle sweetness. Brown sugar works in a pinch
- Spice blend: the magic of this dish comes from the perfect balance of warming spices. Toast whole spices and grind them yourself for the most intense flavor
- Crushed tomatoes: adds body and tanginess. San Marzano variety offers superior flavor
- Coconut milk: the secret to creating creaminess without dairy. Use full fat for the richest texture
- Fresh cilantro: brightens the finished dish. Look for bunches with perky leaves and no yellowing
- Lemon juice: adds vital acidity to balance the richness. Always use fresh squeezed
Step-by-Step Instructions
- Prepare the lentils:
- Rinse brown lentils thoroughly under cold running water until it runs clear, swishing them around with your fingers. Soaking them overnight or for at least 6 hours is crucial as it significantly reduces cooking time and makes nutrients more bioavailable. If you forgot to soak, quick soak by covering with boiling water for 1 hour.
- Create the flavor base:
- Heat your oil in a large deep skillet over medium high heat until it shimmers but does not smoke. Add finely chopped onion and cook for 5 7 minutes, stirring occasionally until they become translucent and slightly golden at the edges. This caramelization process builds foundational flavor for the entire dish.
- Incorporate aromatics:
- Add the freshly grated garlic and ginger along with tomato paste, stirring constantly to prevent burning. Cook this mixture for a full 3 minutes to allow the rawness of the garlic and ginger to mellow and the tomato paste to caramelize slightly, deepening the flavor profile significantly.
- Bloom the spices:
- Add the coconut sugar and all spices to the pan. This critical step releases the essential oils in the spices, intensifying their flavors and aromas. Stir constantly for 30 60 seconds until your kitchen fills with a magnificent fragrance, being careful not to let them burn which would create bitterness.
- Simmer to perfection:
- Add drained lentils, kidney beans, crushed tomatoes, and coconut milk, stirring to combine thoroughly. Reduce heat to low and partially cover with a lid, allowing some steam to escape. Let simmer for 25 30 minutes, stirring every 8 10 minutes to prevent sticking. The lentils should become tender but still hold their shape slightly.
- Finish and refine:
- Turn off heat and use an immersion blender to pulse just 3 4 times through different areas of the pot. This creates textural contrast with some lentils remaining whole while others break down to thicken the dal. Stir in fresh cilantro and lemon juice, tasting and adjusting salt as needed for perfect balance.

The most magical ingredient in this recipe is the blend of spices. I spent months perfecting this combination, with cardamom being my secret weapon. The first time my Indian neighbor tried this recipe, she asked for seconds and the recipe to share with her mother. That moment confirmed I had created something special that honored traditional flavors while being fully plant based.
Make Ahead Options
This dal makhani actually improves with time as the flavors meld together and intensify. You can prepare it up to three days in advance and refrigerate in an airtight container. When reheating, add a splash of water or vegetable broth if it has thickened too much. This makes it perfect for meal prep or when planning dinner parties where you want to minimize day of cooking.
Storage Guidelines
Allow the dal to cool completely before transferring to airtight containers. Refrigerate for up to 5 days, though the cilantro will lose some brightness after the second day. For freezing, portion into individual servings in freezer safe containers, leaving a half inch of space at the top for expansion. Freeze for up to 3 months. Thaw overnight in the refrigerator and reheat gently on the stovetop, adding a touch of freshly squeezed lemon juice and a sprinkle of cilantro before serving to revive the flavors.
Simple Substitutions
The beauty of this recipe lies in its flexibility. No brown lentils? Black lentils create an even more authentic version, though they may need additional cooking time. French green lentils work too but maintain more texture. Kidney beans can be replaced with black beans for a different flavor profile or omitted entirely if you prefer. For coconut milk, cashew cream makes an excellent substitute simply blend 1 cup of soaked cashews with 1 cup of water until completely smooth. If you avoid nuts, unsweetened oat cream provides similar creaminess.

This dal makhani is a delightful celebration of plant based flavors. It’s sure to become a comforting favorite for any occasion!
Frequently Asked Questions
- → Can I use canned lentils instead of dried?
Yes, you can substitute canned lentils to save time. You'll need about 2½ cups of canned, drained lentils. Reduce the simmering time to about 15 minutes since they're already cooked. The texture may be slightly different but still delicious.
- → Is there a substitute for coconut milk?
For a coconut-free version, you can use unsweetened cashew cream (blend soaked cashews with water) or unsweetened oat cream. These alternatives will maintain the creamy texture while offering a different flavor profile.
- → How spicy is this dal makhani?
With 1 teaspoon of cayenne pepper, this dal has a moderate heat level. For a milder version, reduce the cayenne to ¼ teaspoon. If you prefer it spicier, increase to 1½ teaspoons or add some fresh chopped green chilies.
- → Can I freeze leftover dal makhani?
Absolutely! This dal freezes exceptionally well. Allow it to cool completely, then portion into airtight containers. It will keep in the freezer for up to 3 months. Thaw overnight in the refrigerator and reheat gently on the stovetop with a splash of water.
- → Why do I need to soak the lentils overnight?
Soaking lentils reduces cooking time, improves digestibility, and enhances nutrient absorption. If you're short on time, you can quick-soak them by bringing to a boil for 2 minutes, then removing from heat and letting them sit covered for 1 hour.
- → What can I serve with dal makhani?
This dal pairs wonderfully with basmati rice, naan bread, roti, or even sourdough. For a complete meal, serve with a side of cucumber raita, pickled onions, or a simple green salad with lemon dressing.