Heat oil in a pan (I use my clay pot), to it add whole spices.
Next, add ginger, garlic, coriander and chilli paste.
Cook for a min. and then add onion puree.
Let it cook on a low flame till it turns golden brown. Keep stirring in between to prevent it from sticking to the bottom of the pan.
Now add turmeric powder, red chilli powder, coriander powder, salt, kashmiri red chilli powder and kasuri methi.
Give everything a nice mix.
Next add tomato puree and mix well.
Cover and cook for 6-8 mins. on a medium flame. Keep stirring in between.
Uncover and cook till it starts to leave oil from the sides.
Now add roasted besan, malai (or fresh cream) and garam masala powder.
Give it a nice mix.
To the gravy, add peas and mushrooms. Mix well.
Add water as per required consistency. Give it a nice mix.
Cover and cook on a low flame for 4-5 min. Stir in between.
Finish with coriander leaves.
Serve hot with roti, naan or paratha.