In a pan of your choice, add 2 Tbsp oil, dried red chilies and roughly chopped onions. Sauté them for about 1 minute. Add cashews and sauté stir again. Now add in garlic cloves and ginger. Stir it and once done add roughly chopped tomatoes and all the spices along with salt. Let it cook until the spices are well done and tomatoes are mushy. Add a little water if you feel that masala will stick to the bottom of your pan. Set it aside to cool. Once cool in a mixer jar, blend it into a smooth curry. And your masala is done.
In the same pan, add about 4-5 Tbsp's of oil and once hot add the marinated paneer cubes. Flip them upside down once you think they are done. it takes about a minute and a half for them to be done on each side. For making sure they don't stick to the pan, make sure you add enough oil.
Once done, line a plate with paper towel and place the paneer cubes on it.
Again in the same pan, add a Tbsp oil. Add Cumin seeds, Bay Leaf and a small cinnamon stick. Let it sizzle.
Put the stove on low flame and add the leftover marination and cook it thoroughly. Stir it continuously to make sure that the yogurt doesn't split.
Now add that masala we made and add a little water. Let it simmer.
Once you see the oil separating from the masala you know its done. Check for salt and garam masala.. adjust to your taste.
Add in the paneer cubes and crushed kasuri methi. Give it a final mix.
Serve hot with Jeera Rice, Naan or Parathas