Give the soaked lentils and kidney beans a good rinse under cold water until the water runs clear. This removes any loose skins and debris that might cloud your finished dal.
Place the drained lentils and kidney beans in a large, heavy-bottomed pot with the water and salt. Use a pot that holds at least 6 quarts — the lentils will foam up considerably as they cook.
Bring the mixture to a rolling boil, then reduce to the lowest simmer your stove allows. Cover and let cook for 90 minutes, stirring every 20 minutes and adding hot water if needed. The lentils should be completely soft and starting to break down.
⏱ 1 hr 30 min
While the lentils finish cooking, heat the ghee in a large, heavy-bottomed pan over medium heat. The pan should be wide enough to hold all your aromatics without crowding.
Drop in the diced onion and cook, stirring regularly, until deep golden brown — about 8 minutes. Don't rush this step; properly caramelized onions add essential sweetness and depth to the dal.
⏱ 8 min
Add the minced garlic and ginger to the pan, stirring constantly for 1 minute until intensely fragrant. If the mixture starts to stick, lower the heat slightly.
⏱ 1 min
Pour in the tomato puree and cook, stirring frequently, until the mixture darkens and you see small pools of oil separating around the edges — roughly 10 minutes. This concentrates the tomato flavor and removes any raw taste.
⏱ 10 min
Stir in the tomato paste, cumin, coriander, garam masala, and chili powder. The paste helps deepen the color and adds another layer of concentrated tomato flavor.
Cook the spice mixture for 2 minutes, stirring constantly to prevent burning. The spices should smell toasted and aromatic, not harsh or bitter.
⏱ 2 min
Add the cooked lentil mixture to your spice base, stirring well to combine. The consistency should be loose and soupy at this point — it will thicken as it simmers.
Let the dal simmer uncovered on the lowest heat for 45 minutes, stirring every 10 minutes to prevent sticking. Scrape the bottom of the pot each time — that's where the best flavor develops.
⏱ 45 min
Using the back of a wooden spoon, gently mash about half the lentils against the side of the pot. This creates the signature creamy texture while leaving some lentils intact for body.
Stir in the cream and butter, mixing thoroughly until the butter melts completely. The dal should turn a rich, pale orange color.
Continue simmering for 10 more minutes, stirring occasionally, until the dal coats the back of a spoon but still flows easily. If it gets too thick, add hot water a few tablespoons at a time.
⏱ 10 min
Taste and adjust the salt — it usually needs more than you think. Serve hot, garnished with fresh cilantro if desired. The flavors will continue developing even after you turn off the heat.