(Vegan) Black Dal Makhani

My favourite dal is the Sylheti-Bangladeshi one I grew up with, and one which is usually sold in Indian restaurants as “tarka dal”. I’d never tried “dal makhani” (a traditional Punjabi dish) until I was an adult when, sometime in the last decade or so, I tasted and fell in love with the famous “black dal” at Dishoom. The recipe for this was not available for many years but I stumbled across this one at “The Tiffin Box” which sounded like it would be good. Below is my slightly modified version of it which is suitable for vegans. The main difference is that I don’t use any butter (“makhani” means butter, so this may actually be sacrilegious) and make it entirely on the stove top, without using the oven. I also use a pressure cooker to speed up the process (and save fuel) but you don’t need to do this.

If you want to see pictures of what each stage of the recipe should look like, click here.


250g black (urad) lentils, washed and rinsed and soaked overnight (this is essential)
2 large pieces of cinnamon stick or cassia bark
2 large bay leaves

3 tablespoons of vegetable oil (or 1 tbsp of butter + 2 of oil if not vegan)
1 large onion, diced fine
6 cloves of garlic, crushed
2 inch piece of thick ginger, grated
1 teaspoon garam masala
1/2 can of tinned tomatoes
Hot water
Salt to taste
2 teaspoons of sugar
Non-vegan option: 50 – 100 ml cream

Spice Mix: 
1 tablespoon whole coriander seeds
½ tablespoon whole cumin seeds
1 teaspoon fennel seeds
1 teaspoon chilli powder
2 inches cassia bark or cinnamon
8 whole cloves
4 green cardamoms, left whole
3/4 of a star anise
2 dried bay leaves


Boil the lentils vigorously in plenty of water with 2 sticks of cinnamon and 2 bay leaves for 15 minute.

Skim off any scum that rises to the top.

Cook in pressure cooker under pressure for 20 minutes OR reduce heat and simmer for about 60-90 minutes. The lentils are cooked when they are soft, but just about holding their shape.

Drain lentils and discard the cinnamon sticks and bay leaves. Keep aside

Make spice mix: toss the ingredients in a hot pan, shaking and stirring constantly for about 30 – 45 seconds, until fragrant. Grind them to a fine powder in a spice grinder. Keep aside.

In a saucepan that will be big enough to hold the lentils,, heat the oil (or oil and butter) . Add the onion, and cook for 5 – 8 minutes, until the onion is soft and is yellow and starting to go brown in places..

Add the garlic and ginger and fry for a minute or two.

Add the tomatoes, the spice mix and garam masala, and stir well to make a paste. Add a little hot water to loosen this if it is too thick.

Continue cooking this on a low heat for about 10 minutes, stirring occasionally, then add the drained lentils. Stir the tomato paste and lentils together then add some hot water so lentils are covered by about a centimetre or so of water. Bring to the boil. Add the salt to taste (at least 1 teaspoon in my case), and stir in the sugar.

Simmer on a low heat for at least 30 minutes, topping up water if necessary (I have not tried pressure cooking it again at this stage, let me know if you have). You can serve this if you want, it will taste good, but it will taste MUCH BETTER if you simmer it for longer (up to several hours, topping up the water when necessary), AND leave it overnight, then reheat, adding a bit of water if it’s become too stodgy. If you’re not vegan, the dish would also be improved by the stirring in a good knob of butter or about 50 -100 ml of cream or even BOTH if you’re feeling particularly decadent. .

Leave a Reply

Your email address will not be published. Required fields are marked *