Dal makhani is the richer, festive cousin of maa ki dal, the everyday whole urad dal eaten in Punjabi villages. The buttery restaurant version was popularised by the same Delhi kitchens that gave us butter chicken, and it borrowed the same idea: a tomato-butter base, plenty of cream and long, patient cooking over the embers of a tandoor.
The magic of the dish is time. Black urad simmered for hours breaks down into a velvety, almost silky body, while the kidney beans keep a little bite. The flavour is deep and earthy rather than spicy, with ginger, garlic and Kashmiri chilli in the background and a gentle smokiness if you finish it with a hot coal.
It is the vegetarian centrepiece of Punjabi weddings and Sunday lunches, and it actually tastes better the next day once the flavours settle. Serve it with naan, tandoori roti or jeera rice, alongside a simple salad and a glass of chaas. Many restaurants keep a pot simmering at the back of the stove all day, and home cooks often start it in the morning for a dinner the same evening.
At a glance
| Region | Punjab |
|---|---|
| Cuisine | Punjabi |
| Diet | Vegetarian |
| Course | Main course |
| Prep time | 15 minutes |
| Cook time | 90 minutes |
| Total time | 105 minutes |
| Serves | 6 |
| Spice level | Mild |
| Difficulty | Medium |
| Gluten-free | Yes |
| Key ingredients | whole black urad dal / rajma / butter / cream / tomato |
Ingredients
For cooking the dal
- 1 cup whole black urad dal (sabut urad)
- 1/4 cup rajma (red kidney beans)
- 5 cups water
- 1 tsp salt
- 1 inch ginger, sliced
For the masala
- 3 tbsp butter
- 1 tbsp ghee
- 1 tsp cumin seeds
- 1 bay leaf
- 1 medium onion, finely chopped
- 1 1/2 tbsp ginger-garlic paste
- 1 cup fresh tomato puree (about 3 tomatoes)
- 1 1/2 tsp Kashmiri red chilli powder
- 1/2 tsp garam masala
- 1 tsp kasuri methi
- 1/3 cup fresh cream
- Salt to taste
Method
- Wash the urad and rajma together 3 to 4 times, rubbing between your palms, until the water runs mostly clear. Soak in plenty of water for 8 to 10 hours.
- Drain, add to a pressure cooker with 5 cups fresh water, salt and ginger. Cook on high for 1 whistle, then on low for 25 to 30 minutes. Let the pressure release naturally.
- Check that the rajma crushes easily between your fingers and the urad is soft. Mash a ladleful of dal against the side with the back of a spoon to start the creamy texture.
- In a heavy pan, heat 2 tbsp butter and the ghee on medium. Add cumin and the bay leaf; when the cumin crackles, add onion and fry 6 to 8 minutes until golden.
- Add ginger-garlic paste and cook a minute, then add tomato puree and chilli powder. Cook on medium-low for 10 minutes until the masala thickens and fat separates at the edges.
- Pour in the cooked dal with its water and stir well. Add a cup of hot water if it looks too thick. Bring to a boil, then lower the heat to the minimum.
- Simmer uncovered for 40 to 60 minutes, stirring and mashing lightly every 10 minutes so it does not catch. The dal should turn dark, glossy and creamy.
- Add garam masala, crushed kasuri methi, the remaining butter and most of the cream. Simmer 5 more minutes, check salt, and swirl the rest of the cream on top when serving.
Tips
- The long simmer matters more than the amount of butter – do not rush the last stage.
- Make it a day ahead; reheat with a splash of water, as it thickens considerably overnight.
- For dhungar smoke, place a glowing coal in a small bowl on the dal, drizzle ghee over it and cover tightly for 2 minutes.
Serve with
Butter naan, tandoori roti or jeera rice, with onion salad and chaas.