Get your ingredients ready.
Chop the onions, puree the tomatoes and cut paneer into 1" cubes.
Heat ghee in a frying pan or a Kadai on medium to high flame.
Add whole spice including bay leaf, green & black cardamom, cinnamon, cloves, black peppercorns & dried red chillies to the pan.
Saute for a few seconds till spices are fragrant.
Add finely chopped onion and fry them till light brown.
Then, add turmeric powder and ginger garlic paste and fry them for 2-3 min.
Add beaten yoghurt (dahi) and lower the flame. Stir it continuously and fry them till oil separates from it.
Add the tomato puree with salt and mix it.
Cook very well till oil gets separated from the masala. (Around 5 minutes)
Add ground spices like coriander powder, red chilli powder, Kashmiri chilli powder, besan, cumin powder and garam masala. Mix it well and cook for 1-2 min.
Add water to the masala, mix it and cover with a lid.
When it comes to boil add cubes of paneer and cook it further till the gravy thickens. (Around 5-7 min)
Add hand crushed kasuri methi to the gravy and mix it well.