This creamy dairy free dal makhani is packed with black lentils and kidney beans cooked in fresh aromatics & spices for the perfect high protein dish!

This authentic Indian-style Dal Makhani is creamy, dairy free and is packed with protein & fibre from black urad dal and kidney beans. This recipe packs in 19 grams of protein per serving (including 2 wholewheat rotis) and 19 grams of fibre.
Dal Makhani is a traditional punjabi lentils dish that’s usually slow-cooked with butter (makhan) and cream, hence the name “dal makhani”. Slow cooking gives it deep, smoky flavour and velvety texture – however it is not necessary. You can cook them for 15-20 minutes for a nice flavour.

Ingredients You Need
- black urad dal – these black lentils are high in dietary fibre and folates. Unlike green lentils, black lentils contain anthocyanins – the powerful antioxidant found in dark berries like blueberries and blackberries.
- kidney beans – I personally prefer using canned kidney beans (organic ones with only kidney beans, salt and water) as they tend to be faster.
- whole spices – bay leaf, cinnamon, cloves, cardamom, cumin seeds
- aromatics – medium tomatoes, red onion, garlic, ginger
- ground spices – kashmiri chili powder, coriander, turmeric, cumin, garam masala
- vegan cream – coconut cream
- garnish – chopped coriander
- to pair with – wholewheat roti, vegan naan, brown rice

Gluten free substitutions: There’s no gluten in this recipe. Pair with gluten free naan, roti or rice.
Allium free substitutions: Omit garlic and onion. Substitute with a pinch of hing. Use 3 medium tomatoes instead of 2.
Vegan Dal Makhani (Restaurant Style)
Ingredients
- 1 cup black urad dal
- 4 cups water
- 1 can kidney beans (250g drained weight)
- 1 bay leaf
- 1 cinnamon
- 4 cloves
- 4 cardamom
- 1 tsp cumin seeds
- 2 red onions
- 3 cloves garlic
- 2 medium tomatoes
- 1 tsp ginger paste
- 2 tbsp olive oil or neutral oil
- 1 tbsp kashmiri chili powder
- 1/4 tsp turmeric
- 1 tsp cumin
- 1 tsp coriander
- 1/2 tbsp garam masala
- 1/4 cup coconut cream
- 1 tbsp vegan butter
- 1 tsp salt
- 1.5-2 cups water (used to boil lentils)
Garnish
- coconut cream
- chopped coriander
- vegan roti
Instructions
- Rinse and soak black urad dal in water overnight or at least 8 hours.
- Drain and pressure cook with 4 cups water for about 15-20 minutes (or 5-6), until very soft and mushy. Drain and keep the water from the cooked dal for the masala later.
- Chop onions, garlic, ginger and tomatoes roughly. Blend with some water until you get a smooth paste.
- Add olive oil to a pot. Add all whole spices, cumin seeds and let them sizzle.
- Add in the blended paste, ground spices and cook until oil separates (5–7 minutes). Add salt to taste.
- Add the cooked dal and kidney beans along with 2 cups of water to the masala. Simmer on low heat for 5-10 minutes. Add more water if it gets too thick.
- Stir in coconut cream, vegan butter and simmer for another 5 minutes.
- Garnish with a swirl of coconut cream and chopped coriander. Serve hot with naan, roti, or steamed basmati rice.