You can use Homemade Paneer or can use store bought. Cut into cubes and fry them in butter till golden colour. Remove and keep aside.
Warm milk and soak saffron in it.
Make Onion puree and Tomato puree separately. Keep aside.
In a pan, heat butter. You can use the same pan that you used for frying Paneer. Add the bay leaf, then fry Onion paste till its pink. add the ginger garlic paste. Fry both till the onion paste turns to brown.
Then, add cashew paste along with all the spice powders. Simmer and allow it to cook well. Then, add the tomato puree.
Add about 1/2 cup water and bring to boil. Then simmer and cook till it thickens. When the gravy is thick enough, add the cream and simmer for another 10 mins. Finally, add the milk that has the saffron. Optionally, you can add orange food colour if you want a richer colour.
When the gravy is ready, finally add the fried paneer and cook for 5 mins.
This tastes great with Ghee Rice, Jeera Rice or Naans.