Go Back
Dal Makhani Recipe | Classic Punjabi Creamy Black Lentil Curry

Dal Makhani

Dal Makhani is a rich, creamy Indian lentil dish made with black lentils (urad dal) and kidney beans, slow-cooked with butter, cream, and aromatic spices to create a luxurious, restaurant-style meal. It is traditionally served with naan, roti, or rice and is known for its deep, smoky flavor and velvety texture.
Prep Time 1 hour
Cook Time 30 minutes
Total Time 1 hour 30 minutes
Servings: 4 servings
Course: Main Course
Cuisine: Indian, Punjabi
Calories: 220

Ingredients
  

  • Whole urad dal black lentils: 200g (7 oz)
  • Dried red kidney beans rajma: 100g (3.5 oz)
  • Butter salted or unsalted: 100g (3.5 oz)
  • Ghee or oil: 1 tablespoon 15 ml
  • Cumin seeds: 1 tsp 5 g
  • Ground coriander: 1 tbsp 10 g
  • Garlic cloves: 5 crushed
  • Fresh ginger: 1 thumb-sized piece 15 g, finely sliced, grated, and matchstick-cut
  • Green chillies: 2 1 whole, 1 chopped
  • Turmeric: ½ tsp 2 g
  • Tomato purée: 100g 3.5 oz
  • Canned kidney beans undrained: 400g (14 oz)
  • Garam masala: ¼ tsp 1 g
  • Double cream heavy cream: 50ml (2 oz)
  • Dried fenugreek leaves kasoori methi: 2 tbsp (10 g), lightly crushed
  • Salt: To taste

Equipment

  • Large saucepan or pot
  • Pressure cooker or Instant Pot (recommended for faster cooking)
  • Fine-mesh sieve or colander
  • Potato masher or sturdy spoon
  • Mixing bowls
  • Measuring spoons and cups
  • Knife and cutting board

Method
 

  1. Rinse the urad dal under cold water several times until the water runs clear. Soak in double the volume of warm water with 1 tsp bicarbonate of soda for at least 12 hours or overnight.
  2. Drain the soaked dal and transfer to a large pot. Cover with 1.5 litres of water. Add sliced ginger, whole green chilli, and turmeric. Bring to a boil, skim off any scum, then reduce heat and simmer uncovered for 1 hour, or pressure cook for 20 minutes.
  3. Remove ginger and chilli.
  4. In a separate pan, heat butter over medium-high heat until it turns nut-brown. Pour half into a container and set aside. Add cumin seeds, fenugreek leaves, ground coriander, crushed garlic, grated ginger, and tomato purée. Cook for 2 minutes.
  5. Stir the spice mixture into the cooked dal. Add the undrained kidney beans and their liquid. Season generously with salt.
  6. Mash the dal mixture with a potato masher until some of the lentils are crushed. Cook over low heat for 15–20 minutes until thick and creamy.
  7. Stir in most of the reserved brown butter, garam masala, and half the cream. Transfer to a serving dish. Drizzle the remaining cream and brown butter on top. Garnish with chopped chilli and ginger matchsticks.

Notes

Safety Notes:
Always use caution when handling hot liquids and steam, especially when releasing pressure from a pressure cooker.
Ensure all ingredients, especially beans, are fully cooked to avoid digestive discomfort.
Substitutions:
Use cashew cream or coconut cream instead of double cream for a dairy-free version.
Replace ghee with vegetable oil if needed.
Use fresh tomatoes blended into purée instead of canned tomato purée.
Storage:
Store in an airtight container in the refrigerator for up to 5 days.
Freeze for up to 3 months; thaw overnight in the fridge before reheating.
Pro Tips:
Soaking the lentils overnight ensures they cook evenly and become tender.
The dish improves in flavor after resting for a few hours or overnight, making it ideal to prepare ahead.
For a deeper, smokier flavor, use smoked paprika or a pinch of cumin seeds roasted in ghee.
The final texture should be thick and creamy, with some lentils mashed and others intact—do not over-mash.