Daal Makhani Recipe

Comfort food doesn’t get any better than a bowl of piping hot, creamy, spicy lentils topped with crispy onions, fried green chillies and crunchy fried spinach.

Urad, or black gram lentils are a staple in Indian homes and are used for making a variety of dishes from simple daals to elaborate Masala Dosa. They’re packed with protein and have a heartier texture than mung beans. Because of their tougher texture, they need to be cooked thoroughly to extract as much of their creamy starchiness as possible. I find the easiest way to do this is to soak the urad daal overnight and cook them using a pressure cooker – something you’ll find in every Indian home, rather than it being just an alien contraption collecting dust in the back of your Nan’s cupboard.

Growing up, I was reared on Gujarati Urad Daal rather than the richer Punjabi version of black gram lentils more popular on restaurant menus around the globe. We were taught that eating urad daal every Saturday (the holy day of Hanuman, the ever-powerful monkey god), we’d become so strong we’d be able to lift mountains. To no surprise, my wrestling-obsessed brother would wolf it down it with plenty of hope and hot, buttery chapattis.

The key difference between Gujarati and Punjabi urad daal is that the Gujarati version has no garam masala, kidney beans or cream. This isn’t to say it’s not delicious but more practical to eat often. However, if I’m honest, the ingredients my native Gujarati version lacked are the things I love so much about the classic Punjabi recipe here. Once you’ve made this version at home, Daal Makhani you get down your local Indian restaurant or takeaway won’t suffice, trust me.

My favourite way to eat Daal Makhani is with Garlic and Coriander Naan, Salted Lassi and nothing more. My recipe may not make you strong enough to uproot mountains like Hanuman dada, but it sure as hell will make you crave a weekly fix every Saturday.

Daal Makhani Recipe

Daal Makhani
Serves 4-6


220g urad (black gram lentils), washed and soaked in cold water overnight
100g kidney beans, washed (I use tinned)
1 tbsp butter
3 large cloves garlic, crushed
2 tbsp ginger, grated
2 large, thin green chillies, chopped
1 tsp cumin seeds
1 tsp fennel seeds, ground
1 tbsp concentrated tomato puree
50g passata
900ml hot water
Pinch baking powder
1 tbsp sugar
2 tsp garam masala
1 tsp coriander seeds, ground
2 tsp salt
100ml double cream


1. Heat the butter in a pressure cooker, add the cumin seeds, garlic, ginger, chillies, tomato puree, passata and ground fennel seeds. Cook for 3-4 minutes. Add the hot water and bring to the boil. Stir in the soaked urad and baking powder (this helps them cook quickly and evenly).

2. Put the lid on the pressure cooker and cook on a medium heat for 35-45 minutes or until the lentils are soft. Stir in the kidney beans, garam masala, ground coriander seeds, salt and double cream and simmer for 5 minutes.

3. Serve with fried onions, fried spinach, fried green chillies and a splash more cream if you like.

Note: Urad daal has a tendency to thicken as it cools so you may need to loosen it up with some hot water before serving.

Love Sanjana