Pluck methi leaves and soak them in a large utensil filled with water. Repeat rinsing them in fresh water and drain off and set aside.
Add 1 tbsp oil to a hot pan. Fry ginger garlic till they smell good. Add onions and fry till lightly golden.
Add tomatoes and sprinkle salt. Fry till the tomatoes turn mushy.
Add red chili powder and garam masala.
Fry for 2 to 3 minutes till the masala smells good.
Switch off the stove. If using cashews add them now. Cool this and blend with ½ cup water to a smooth puree.
In the same pan, saute methi leaves for 3 to 4 minutes.
Add paneer and saute for another 2 minutes. Set this aside.
Add 1 tbsp oil to the same pan, add cumin and cardamom. When they sizzle, add the onion tomato puree. Add more water as needed to bring it to a gravy consistency.
Bring it a boil and allow to cook well until the gravy thickens. you will see traces of oil on the gravy.
Add the methi paneer that was set aside.
Do not over cook to avoid rubbery or hard paneer. If you want you can stir in 3 to 4 tbsps heavy cream.
Transfer methi paneer to a serving bowl and serve with rice, roti or paratha.