Add chopped tomatoes to a blender jar, blend into a puree, and set aside.
Heat ghee and butter in a pan, or use 1-2 tablespoon of oil for vegan Dal Makhani. Add a bay leaf, cinnamon stick, green cardamoms, cloves, and cumin seeds.
Saute until spices are fragrant and cumin seeds start to sizzle. Add asafoetida and ginger, and saute for a few seconds.
Add red chili powder, stir quickly, and immediately add tomato puree. Stir well.
Add salt to taste, cumin powder, coriander powder, and garam masala. Mix and cook the tomato mixture for 10-12 minutes until the puree is thick and the fat separates from the sides.
Add cooked dal and rajma with the stock. Mix well and bring it to a boil. Then turn the heat on low, cover the pan with the lid, and continue cooking the Dal Makhani.
Stir the lentils regularly to prevent them from sticking to the bottom. Also, add more water if required to keep the desired consistency while simmering.
Continue cooking Dal Makhani on low heat for 30 minutes to an hour. Longer cooking of dal provides a creamy texture and enhances the taste.
Dal will continue to soak the water, so keep an eye and add more water if required. Also, stir the lentils at regular intervals.
Once the Dal Makhani is creamy and reaches a medium consistency (not too thick or not too thin), add cream and the Kasoori methi. Mix well, cook for a minute, and turn off the heat.
Transfer the Dal Makhani to a serving bowl and garnish it with cream and chopped coriander leaves before serving.