Dal Makhani (Indian Lentils)


Ever go to an Indian restaurant and wonder how they make those lentils? I hated lentils before I discovered Indian food. Then I scoured the internet to figure out how they achieved them, and through mixing and matching recipes and methods on videos, I've arrived at this recipe, which I think is pretty close. This version is very rich, but you can leave out the cream to make it lighter. Kasuri methi (fenugreek leaves) is almost impossible to find in the U.S., even in NYC, but it gives this dish something very special.

close up view of Dal Makhani (Indian Lentils) in a metal pot
Prep Time:
15 mins
Cook Time:
2 hrs
Additional Time:
2 hrs
Total Time:
4 hrs 15 mins
6 servings


  • 1 cup lentils

  • ¼ cup dry kidney beans (Optional)

  • water to cover

  • 5 cups water

  • salt to taste

  • 2 tablespoons vegetable oil

  • 1 tablespoon cumin seeds

  • 4 cardamom pods

  • 1 cinnamon stick, broken

  • 4 bay leaves

  • 6 whole cloves

  • 1 ½ tablespoons ginger paste

  • 1 ½ tablespoons garlic paste

  • ½ teaspoon ground turmeric

  • 1 pinch cayenne pepper, or more to taste

  • 1 cup canned tomato puree, or more to taste

  • 1 tablespoon chili powder

  • 2 tablespoons ground coriander

  • ¼ cup butter

  • 2 tablespoons dried fenugreek leaves (Optional)

  • ½ cup cream (Optional)


  1. Place lentils and kidney beans in a large bowl; cover with plenty of water. Soak for at least 2 hours or overnight. Drain.

  2. Cook lentils, kidney beans, 5 cups water, and salt in a pot over medium heat until tender, stirring occasionally, about 1 hour. Remove from heat and set aside. Keep the lentils, kidney beans, and any excess cooking water in the pot.

  3. Heat vegetable oil in a saucepan over medium-high heat. Cook cumin seeds in the hot oil until they begin to pop, 1 to 2 minutes. Add cardamom pods, cinnamon stick, bay leaves, and cloves; cook until bay leaves turn brown, about 1 minute. Reduce heat to medium-low; add ginger paste, garlic paste, turmeric, and cayenne pepper. Stir to coat.

  4. Stir tomato puree into spice mixture; cook over medium heat until slightly reduced, about 5 minutes. Add chili powder, coriander, and butter; cook and stir until butter is melted.

  5. Stir lentils, kidney beans and any leftover cooking water into tomato mixture; bring to a boil, reduce heat to low. Stir fenugreek into lentil mixture. Cover saucepan and simmer until heated through, stirring occasionally, about 45 minutes. Add cream and cook until heated through, 2 to 4 minutes.

Nutrition Facts (per serving)

390 Calories
22g Fat
37g Carbs
13g Protein
Nutrition Facts
Servings Per Recipe 6
Calories 390
% Daily Value *
Total Fat 22g 28%
Saturated Fat 10g 52%
Cholesterol 48mg 16%
Sodium 420mg 18%
Total Carbohydrate 37g 13%
Dietary Fiber 16g 56%
Total Sugars 3g
Protein 13g
Vitamin C 8mg 39%
Calcium 111mg 9%
Iron 7mg 38%
Potassium 757mg 16%

* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

** Nutrient information is not available for all ingredients. Amount is based on available nutrient data.

(-) Information is not currently available for this nutrient. If you are following a medically restrictive diet, please consult your doctor or registered dietitian before preparing this recipe for personal consumption.

You’ll Also Love