Heat oil and butter in the same pan.
Add cumin seeds, ginger garlic paste, green cardamoms, cinnamon, green chilies, onion (thinly chopped), tomatoes (chopped), coriander powder, turmeric powder, red chilli powder, magic masala and salt.
Give them a good mix.
Put a lid and let it cook on low to medium heat.
Do stir occasionally to prevent it from sticking to the base of the pan.
Everything is cooked and roasted so well and oil is seen separated.
Add curd.
Whisk it continuously otherwise curd may curdle.
Stop whisking when curd begins to boil.
Add water and mix well.
When water begins to boil, add paneer which was roasted initially.
Give it a good mix.
Simmer for 8-10 minutes or as per your requirement of gravy's consistency.
Lastly add garam masala, kasuri methi and coriander leaves.
Mix well.
Enjoy with naan, paratha or roti.