Dal Makhani — literally "buttery lentils" — is the single most ordered vegetarian dish at Indian restaurants worldwide. That silky, midnight-dark gravy, impossibly creamy, with whole black lentils that have been cooked until they melt into the sauce but still hold their shape. It's comfort food at its most refined. The reason restaurant Dal Makhani tastes different from home versions is simple: time and fat. Restaurants simmer their dal on the lowest heat for 12–24 hours, adding butter and cream in stages, until the lentils break down and release their natural starch into the sauce, creating that legendary thick, velvety texture. This recipe replicates that result in 60 minutes using a pressure cooker to collapse the lentils quickly, then finishes with the same butter-cream-tomato technique that makes the restaurant version unforgettable.
The lentil you need is whole black urad dal — not split urad, not washed urad, but the whole black beans with their skins on. At Pick N Save, we stock Fudco Urad Beans Whole in both 500g and 1.5kg packs, plus TFS Whole Urad Gota and TFS Whole Urad Beans — all perfect for Dal Makhani. The skin is what gives the dal its distinctive dark colour and thick, creamy body as it cooks. We pair it with a small quantity of red kidney beans (rajma), which add a contrasting texture and earthy sweetness. We've been helping our Harrow customers pick the right dal for this recipe since 1999 — the whole urad section is one of the most visited aisles in our store for exactly this reason.
Rinse 1 cup (200g) of whole black urad dal (Fudco Urad Beans Whole 1.5kg) and ¼ cup (50g) of red kidney beans (Fudco Red Kidney Beans 1.5kg) under cold running water until the water runs clear. Place both in a large bowl, cover with plenty of cold water (at least 3 times the volume of the lentils), and soak overnight — a minimum of 8 hours. The lentils will double in size. If you forgot to soak: boil them in a pot for 2 minutes, turn off the heat, cover, and let them sit for 1 hour. This quick-soak method works in a pinch, though overnight gives a creamier result.
Drain the soaked lentils and add them to a pressure cooker with 4 cups (1 litre) of fresh water, ½ teaspoon of salt, and ½ teaspoon of turmeric (TFS Haldi Powder Rajapuri 100g). Close the lid and cook on medium-high heat. Once the pressure builds, reduce to low and cook for 20–25 minutes (about 6–7 whistles on a traditional Indian pressure cooker, or 20 minutes on high pressure in an electric pressure cooker/Instant Pot). The lentils should be completely soft — if you press one between your fingers, it should mash easily. If they're still firm, pressure cook for another 5–10 minutes. Do not drain — the cooking liquid is full of starch and becomes the base of your gravy.
No pressure cooker? Cook in a heavy-bottomed pot on the stovetop with 5 cups of water, covered, on a low simmer for 1.5–2 hours, stirring every 20 minutes and topping up water as needed. The result is identical — it just takes longer.
While the lentils cook (or after), heat 3 tablespoons of butter (Anchor Butter Salted 500g) in a separate large, heavy-bottomed pan over medium heat. Once foaming, add 1 teaspoon of cumin seeds (Fudco Cumin Seeds 300g) — let them sizzle for 10 seconds. Add 1 large onion, finely chopped (White Onions Prepack 4Kg), and cook for 5–6 minutes until deeply golden and caramelised at the edges — darker than you'd normally cook onions. This deep caramelisation adds a sweet, rich backbone to the dal.
Add 1 tablespoon of ginger garlic paste (Fudco Ginger Garlic Paste 300g) and cook for 1 minute. Add 1 tin of KTC Chopped Tomatoes (400g) and stir in: 1 teaspoon of Kashmiri chilli powder (TFS Kashmiri Mild Chilli Powder — for colour), 1 teaspoon of garam masala (TFS Garam Masala), 1 teaspoon of ground coriander (TFS Dhana Coriander Powder), ½ teaspoon of ground cumin (TFS Jeera Powder), and salt to taste. Cook for 5–6 minutes, stirring frequently, until the tomatoes break down completely and the mixture becomes a thick, dark paste with oil separating at the edges.
This is where the magic happens. Add the pressure-cooked lentils (with ALL their cooking liquid) into the tomato-butter base. Stir everything together. The dal should be fairly liquid at this point — that's correct, it will thicken dramatically as it simmers. Bring to a gentle simmer on low heat and cook uncovered for 15–20 minutes, stirring every 3–4 minutes to prevent sticking. As it simmers, use the back of a wooden spoon to gently press some of the lentils against the side of the pan — this releases starch and thickens the gravy naturally. The dal should slowly transform from watery and brothy to thick, creamy, and clinging to a spoon.
This is what makes it "makhani". Add 2 tablespoons of cold butter (cut into cubes — cold butter emulsifies better than melted), 100ml of double cream (or Elmlee Double Creamy Taste 270ml), and 1 tablespoon of dried fenugreek leaves / kasuri methi (TFS Dried Fenugreek Leaves 100g) crushed between your palms before adding — this releases the essential oils and gives Dal Makhani its signature aroma. Stir gently until the butter melts and the cream is fully incorporated. The dal should now be a deep, dark brown with a glossy, creamy sheen. Add 1 teaspoon of honey or sugar to round out the acidity from the tomatoes. Taste and adjust salt.
Turn off the heat and let the dal rest for 5 minutes with the lid on. During this resting period, the dal continues to thicken and the flavours meld together. This step is small but important — dal that rests for 5 minutes tastes noticeably better than dal served immediately off the heat. Serve in a deep bowl topped with a swirl of cream, a knob of cold butter, and a pinch of kasuri methi. Pair with basmati rice (Tilda Basmati Rice 5kg), garlic naan (Shana Naan Garlic 300g), or roti (Shana Chapatti Multi Pack 20s).
Every single ingredient for this recipe is available at picknsave.co.uk with home delivery across London and the UK, or click and collect from our store in Harrow. Here's your shopping list:
*RI = Reference Intake. Values are approximate and may vary based on ingredients.