Heat the pan and add oil.
Add butter (or ghee) once the oil is hot.
Fry cumin seeds, cardamom, bay leaves, cinnamon stick, black pepper, green cardamom, and cloves on low flame for 8-10 seconds.
Add onions, garlic cloves, ginger, green chilies, coriander leaves, dried cashews, and red chili powder. Fry for 2-2.5 minutes.
Add tomatoes and fry for 4-5 minutes.
Add water, salt, turmeric powder, coriander powder, and garam masala. Cook on low to medium flame for 10-12 minutes.
Remove the bay leaf and cinnamon stick from the gravy.
Grind the gravy until it becomes fine and smooth.
Strain the gravy with a strainer.
Heat oil in a pan, add butter (or ghee), and fry on low flame.
Add Kashmiri red chili powder and grind the gravy into the pan.
Add water to adjust the consistency of the gravy. Cook for 5-7 minutes.
Add paneer, roasted dry fenugreek leaves, salt, and fresh cream to the gravy.
Cook on low flame for 5 more minutes.