Preheat the oven to 365F/185C.
In a large bowl, mix all the marination ingredients. Add cubed tofu and coat them well. Set aside for 30 minutes.
Place the marinated tofu on a baking tray with even spacing between each cube. Bake for 15-20 minutes until golden brown on all sides.
Alternatively, you can air fry the tofu pieces.
Soak cashews and tomatoes in boiling water for 30 minutes until tomatoes are blanched and cashews are soft.
Blend the cashews and tomatoes (adding water if needed) to make a smooth paste and set aside.
Heat oil in a pan. Add cumin seeds and allow them to crackle. Then add in the onions and cook for 3 to 4 minutes until translucent.
Add green chili peppers, ginger garlic paste, or minced ginger and garlic. Saute for 30 seconds.
Add turmeric, red chili powder, ground cumin, coriander powder, and optionally deghi mirch (for the red color).
Deglaze the pan with water to remove any browning on the bottom.
Add the tomato and cashew paste, Garam Masala. Mix well.
Cook until the tomatoes change color from bright red to warm orange (about 5-8 minutes).
Stir in dried fenugreek leaves (Kasuri methi), soy/almond/coconut cream, and garnish with chopped cilantro.
Mix well and serve hot with basmati rice or roti.