Silky Lentil Dal Makhani

Featured in: Hearty Meals for Every Table

This vegan dal makhani turns basic kidney beans and lentils into a thick, smooth meal with wonderful spices. The beans need soaking overnight, then you cook them with coconut milk, tomatoes, and a mix of warming flavors like cardamom, cinnamon, and cumin.

Coconut milk gives you that rich smoothness typically made with dairy products. A quick blend at the end makes everything just right - smooth but still chunky. Top it with fresh lemon juice and cilantro, then serve with flatbread or rice for a wonderful meal.

A woman in a kitchen taking a selfie.
By Rosa Rosa
Updated on Sat, 26 Apr 2025 14:44:37 GMT
A bowl of soup with a spoon in it. Pin it
A bowl of soup with a spoon in it. | letscookiteasy.com

This dairy-free dal makhani turns basic lentils and beans into a smooth, thick curry that's just as good as the traditional butter-heavy version. I came up with this after spending years trying to match that fancy restaurant texture without using dairy products, and I found coconut milk works wonders.

I whipped this up for the first time during a freezing night when I needed something cozy and filling. The spices made my house smell amazing, and now it's what I always make when I've got plant-eating friends coming over.

What You'll Need

  • Brown lentils: these form the backbone of our dish and bring an earthy taste and filling texture. Try to find ones that are all similar in size so they cook evenly
  • Kidney beans: they boost the protein count and give a nice textural difference. Make sure to wash canned ones well to get rid of extra salt
  • Olive or avocado oil: this wakes up the spices and cooks the veggies. Go for cold pressed if you can
  • White onion: builds the first layer of flavor. Pick ones that feel firm without any mushy spots
  • Fresh garlic and ginger: these are must-haves for real flavor. Skip the jars and go with fresh for the best taste
  • Tomato paste: adds deep flavor and slight tang. The tube kind keeps its flavor better
  • Coconut sugar: cuts through the acid with gentle sweetness. Regular brown sugar works too
  • Spice mix: this is where the dish gets its soul from perfectly balanced warm spices. Heat whole spices then grind them yourself for knockout flavor
  • Crushed tomatoes: gives thickness and tang. San Marzano tomatoes taste best if you can find them
  • Coconut milk: this is how we get that creamy texture without any dairy. Don't skimp - use the full-fat kind
  • Fresh cilantro: adds freshness at the end. Look for bright green bunches with no yellow bits
  • Lemon juice: balances the richness with needed acid. Always squeeze it fresh

Cooking Method

Get lentils ready:
Wash brown lentils under cold water until it's clear, mixing them with your fingers. Don't skip soaking them overnight or at least 6 hours – it makes them cook faster and easier to digest. Forgot to soak? Just pour boiling water over them and wait an hour.
Start the flavor:
Warm your oil in a big, deep pan on medium-high until it's shiny but not smoking. Throw in your finely chopped onion and cook for about 5-7 minutes, stirring now and then until they turn see-through with golden edges. This browning step builds the first layer of taste.
Add the zip:
Drop in freshly grated garlic and ginger with the tomato paste, stirring the whole time so nothing burns. Let this mix cook for 3 minutes to mellow out the sharp garlic and ginger taste and let the tomato paste get a bit caramelized for deeper flavor.
Wake up the spices:
Put in the coconut sugar and all your spices. This key step releases their essential oils, making them more flavorful and fragrant. Keep stirring for 30-60 seconds until your kitchen smells amazing, but watch carefully so they don't burn and get bitter.
Let it bubble away:
Add your drained lentils, kidney beans, crushed tomatoes, and coconut milk, mixing everything well. Turn the heat to low and half-cover with a lid so some steam can escape. Let it simmer for 25-30 minutes, stirring every 8-10 minutes so nothing sticks. The lentils should get soft but still keep some shape.
Give it the final touch:
Turn off the heat and use a stick blender to pulse just 3-4 times in different spots. This gives you a mix of whole lentils and broken ones that thicken everything up. Mix in the fresh cilantro and lemon juice, then taste and add salt if needed to make the flavors pop.
A bowl of soup with a piece of bread on top. Pin it
A bowl of soup with a piece of bread on top. | letscookiteasy.com

The real star of this dish is the spice blend. I tweaked it for months to get it just right, with cardamom being my hidden trick. The first time my neighbor from India tried it, she asked for seconds and wanted to share the recipe with her mom. That told me I'd made something truly good that kept the traditional flavors while staying completely plant-based.

Prep In Advance

This dal actually gets tastier after a day or two as all the flavors mix and deepen. You can make it up to three days before you need it and keep it in the fridge in a sealed container. When you warm it up, just add a little water or veggie broth if it's gotten too thick. This makes it perfect for busy weekdays or when you're having friends over and don't want to be stuck in the kitchen.

Keeping It Fresh

Let your dal cool all the way before putting it in sealed containers. It'll stay good in the fridge for up to 5 days, though the cilantro won't look as bright after day two. To freeze it, split it into single portions in freezer containers, leaving some room at the top since it'll expand. It keeps for up to 3 months frozen. Thaw in the fridge overnight and warm it slowly on the stove, adding fresh lemon juice and cilantro before eating to wake up the flavors.

Easy Swaps

What's great about this recipe is how flexible it is. Don't have brown lentils? Black ones make an even more traditional version, but they'll need more cooking time. French green lentils work too but stay firmer. You can swap kidney beans for black beans for a different taste or leave them out completely if you want. Instead of coconut milk, try cashew cream - just blend 1 cup of soaked cashews with 1 cup of water until smooth. If you can't have nuts, unsweetened oat cream works well too.

A bowl of soup with a spoon in it. Pin it
A bowl of soup with a spoon in it. | letscookiteasy.com

This dal makhani shows how amazing plant-based cooking can be. It'll quickly become your go-to comfort food no matter the occasion!

Frequently Asked Questions

→ Can I use canned lentils instead of dried?

You can definitely use canned lentils to cut down prep time. You'll want about 2½ cups of drained canned lentils. Just cook them for around 15 minutes since they're already done. The end result might feel a bit different in your mouth but will taste just as good.

→ Is there a substitute for coconut milk?

If you don't want coconut, try blended cashews with water (after soaking them) or plain oat cream. Both options will give you that nice creaminess but will change the flavor a bit.

→ How spicy is this dal makhani?

Using 1 teaspoon of cayenne makes this medium hot. Want it milder? Drop down to ¼ teaspoon of cayenne. Looking for more kick? Go up to 1½ teaspoons or throw in some fresh green chilies.

→ Can I freeze leftover dal makhani?

You bet! This dish freezes really well. Let it cool down first, then put it in sealed containers. It'll stay good in the freezer for up to 3 months. When you're ready to eat it, thaw it in your fridge overnight and warm it up slowly on the stove with a little water.

→ Why do I need to soak the lentils overnight?

Soaking makes lentils cook faster, helps your body digest them better, and lets you get more nutrients from them. In a hurry? You can do a quick soak by boiling them for 2 minutes, then taking them off the heat and letting them sit covered for an hour.

→ What can I serve with dal makhani?

This tastes great with basmati rice, naan, roti, or even some sourdough bread. For a full dinner, add cucumber raita, some pickled onions, or a basic green salad with lemon dressing on the side.

Lentil Kidney Bean Curry

Smooth kidney bean and lentil stew with flavorful spices, rich coconut milk, and garden herbs for a filling plant-based dinner.

Prep Time
20 Minutes
Cook Time
40 Minutes
Total Time
60 Minutes
By Rosa: Rosa

Category: Main Courses

Difficulty: Intermediate

Cuisine: Indian

Yield: 4 Servings

Dietary: Vegan, Vegetarian, Gluten-Free, Dairy-Free

Ingredients

→ Lentils & Beans

01 1 cup brown lentils, left to soak through the night
02 1 can (13.5 oz) kidney beans, drained then washed

→ Aromatics & Spices

03 4 tbsp olive oil or avocado oil
04 1/2 medium white onion, cut very small
05 5 garlic cloves, grated into tiny bits
06 2" piece ginger, grated until fine
07 2 tbsp tomato paste
08 1 tbsp coconut sugar
09 2 tsp kosher salt, with extra for taste adjustments
10 2 tsp cumin seeds
11 1 tsp coriander
12 1 tsp cayenne pepper
13 1 tsp black pepper
14 1/2 tsp ceylon cinnamon
15 1/2 tsp ground cardamom
16 1/4 tsp nutmeg
17 1/4 tsp cloves

→ Other Ingredients

18 1 can (400g) crushed tomatoes
19 1 can (425ml) coconut milk
20 1/2 cup cilantro, chopped small
21 1-2 tbsp lemon juice

Instructions

Step 01

Wash lentils under cold water till it runs clear. Let them soak through the night or for at least 6 hours to make cooking faster and boost their goodness.

Step 02

Warm up a big, deep pan on medium-high and pour in the oil. When it starts to shimmer, toss in onion and cook till see-through. Mix in garlic, ginger, and tomato paste, and stir often for 3 minutes so nothing burns.

Step 03

Throw in coconut sugar, salt, and all your spices (cumin seeds, coriander, cayenne, black pepper, cinnamon, cardamom, nutmeg, and cloves). Keep stirring for 30-60 seconds until you can really smell them, making sure they don't burn.

Step 04

Add your lentils, kidney beans, crushed tomatoes, and coconut milk, then stir well. Turn heat to low and partly cover the pan. Let it bubble gently for 25-30 minutes, giving it a stir every 8-10 minutes until lentils get soft and the mix thickens up. Add a bit of water if needed to finish cooking the lentils.

Step 05

Turn off the heat and take an immersion blender to quickly blend the mix 3-4 times to make it creamier. Mix in cilantro and lemon juice, adding more salt if needed.

Step 06

Enjoy while hot with rice, flatbread, pita, or sourdough bread. Sprinkle extra cilantro on top if you want. You can keep leftovers in the fridge for 3-4 days.

Notes

  1. When you soak lentils overnight, they cook quicker and your body can grab more nutrients from them.
  2. Want it thicker? Just run your immersion blender through it a few more times.

Tools You'll Need

  • Big, deep pan with cover
  • Stick blender

Nutrition Facts (Per Serving)

It is important to consider this information as approximate and not to use it as definitive health advice.
  • Calories: 380
  • Total Fat: 18.3 g
  • Total Carbohydrate: 42.5 g
  • Protein: 12.6 g