In a large pan, heat 2 TBSP ghee. Then add the dried chilis, ginger, garlic, and whole spices. Cook for 1-2 minutes or until aromatic.
Add cashews and onions next. Cook until onions turn translucent. Then add tomatoes.
Cover and cook until the tomatoes lose their shape. Then, take off the heat and remove the whole spices.
Spoon into a food processor or blender, and blend into a paste.
Return the paste to the pan with 2 TBSP of ghee, garam masala, cayenne, turmeric, tomato paste, salt, and water. Bring to a boil, reduce heat, and simmer on low, for 30 minutes.
In a skillet, slightly brown the paneer cubes, and then add to the gravy.
In a dry skillet, dry roast the fenugreek leaves and crush into a fine powder.
Gently stir the ground fenugreek leaves and cream to the gravy.
Stir gently to combine.
Garnish with cilantro. Serve with fresh naan and salted red onion with lime.