Heat oil in a wide skillet, preferably an oven-proof one. Add the sliced onions with some salt and ground black pepper. Saute until the onions are very soft and lightly brown.
Add the chopped celery and carrots and cook over medium heat for 4-5 minutes until the carrots are slightly tender.
Stir in the ginger garlic paste and minced chili pepper and saute for a minute.
Add the potatoes to the skillet and mix in. Cover the skillet, turn the heat to low, and cook the potatoes until they are almost tender, about 10 minutes.
Add the turmeric, paprika, ground coriander, ground cumin and mint stir them into the vegetables.
Set the oven to preheat to 350 degrees Fahrenheit/175 degrees Celsius.
Stir in the tomato puree and a cup of water and mix. Let the tomatoes cook over medium-low heat for about 15 minutes. The sauce will darken considerably and the potatoes should be thoroughly cooked by this time.
Stir in the garam masala followed by the tofu cubes. Mix well.
Turn off the heat and sprinkle the vegan mozzarella shreds on top, if using.
Bake 30 minutes or until the cheese has melted and the casserole is bubbly.
Sprinkle the cilantro on top. Let stand 10 minutes before serving.
