This vegan Indian-Spiced Tofu Casserole makes great eats for any meal. Onions, carrots, celery and potatoes are baked with tofu cubes in a perfectly flavored tomato sauce that turns bubbly and deliciously jammy in the oven. The dish is at once healthy and decadent and you can serve it on its own or with a chunk of crusty sourdough bread. This tofu casserole is nut-free and gluten-free and you can easily tweak it for low-carb and soy-free diets.

I usually make this vegan Indian spiced tofu casserole in the morning and we eat it all through the day, it's that delicious and versatile. You have everything you need in here, from veggies to protein to carbs. The only other things you need are a bowl or plate and a fork. Maybe some bread, but that's optional.
The casserole needs under an hour of cooking time and most of that is hands-off. Once you've got your ingredients prepped all you need to do is check in on it once in a while. And after it's all done you have a tasty, nourishing meal you will want to make again and again.
Table of Contents
Why you'll love this vegan tofu casserole
- A one-pot meal and a one-pot dish. This one dish has all the elements you need from an entire meal and everything comes together in one pot, so long as it's a pot that can go from the stovetop to the oven. If you don't have an oven-friendly skillet just transfer the casserole to a baking dish before putting it in the oven.
- Healthy. There are lots of veggies in this dish, and the tofu adds heart-healthy protein.
- Very, very tasty. This is an incredibly delicious dish and there are so many textures and flavors here to love: the garam masala and paprika add spice, the onion-tomato sauce has deep, sweet flavors, and the tofu adds a lovely chewiness.
- Everyone-friendly. This recipe is vegan, nut-free and gluten-free, and you can easily tweak it for soy-free or low-carb diets.

Ingredients
- 1 tablespoon vegetable oil. Olive oil, avocado oil, coconut oil are all fine.
- 1 medium onion
- 1 stalk celery
- 1 medium carrot
- 1 heaping tablespoon ginger garlic paste. If you don't have this make your own by crushing together a knob of ginger, about an inch long, and four cloves of garlic.
- 1 jalapeno pepper. Deseed for less heat.
- Spices: ½ teaspoon turmeric, 1 teaspoon paprika, 1 tablespoon ground coriander, 1 teaspoon ground cumin and 2teaspoons garam masala.
- ½ teaspoon dried mint.
- 1 pound potatoes. All waxy potatoes are fine. I used a mix of red, yellow and purple baby potatoes. Do not use russet potatoes.
- 28 oz tomato puree. I used canned. You can also make your own puree with fresh tomatoes.
- 16 oz baked tofu or air fryer tofu. The air fryer tofu is really delicious in this recipe. See this post if you want to learn how to marinate and bake an Indian style tofu.
- 4 oz vegan mozzarella cheese shreds. This is optional but I highly recommend it, both to make the dish kid-friendly and for a lovely finishing texture and flavor.
- 2 tablespoon cilantro, for garnish.
How to make tofu casserole
- 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 and 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.
- Let stand 10 minutes before serving.

Tweaks for soy-free and low-carb diets
- For a low-carb diet, skip the carrots and potatoes and add other vegetables like zucchini, bell peppers or mushrooms.
- If you are soy-free, use two 15 oz cans of white beans instead of the tofu. Stir them into the caserole at the same time as you would the tofu and bake. You can also use vegan sausage that's soy-free.
Storage tips
- Leftovers of the tofu casserole can be stored in the refrigerator for up to four days.
- For longer storage, freeze in an airtight container for up to three months. Defrost and reheat in a preheated 350 degree oven for 5-10 minutes or until warmed through.

Love this recipe? Please leave a comment and star rating below. For more delicious plant-based recipes subscribe to my newsletter or follow me on Pinterest, Instagram or Facebook!
Recipe card

Vegan Indian-Spiced Tofu Casserole
Ingredients
- 1 tablespoon avocado oil or any neutral oil
- 1 medium onion (thinly sliced)
- 1 stalk celery (finely chopped)
- 1 medium carrot (finely chopped)
- 1 heaping tbsp ginger garlic paste (you can make it by crushing together an inch-long knob of ginger with four garlic cloves)
- 1 jalapeno pepper (minced. Deseed for less heat.)
- ½ teaspoon turmeric
- 1 teaspoon paprika
- 1 tablespoon ground coriander
- 1 teaspoon ground cumin
- ½ teaspoon dried mint
- 1 pound potatoes (any waxy potato is fine, cubed)
- 28 oz tomato puree (I use canned. You can make your own with fresh tomatoes too)
- 2 teaspoon garam masala
- 16 oz baked tofu (cut into small cubes)
- 4 oz vegan mozzarella cheese shreds (optional but really nice)
- Salt and ground black pepper to taste
- 2 tablespoon cilantro (chopped)
Instructions
- 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.
Notes
- You do not have to use baked tofu, especially if you like softer cubes of tofu in the casserole. Just use a 16-oz block of super firm or high-protein tofu or extra firm tofu with the water pressed out.
- For a low-carb diet, skip the carrots and potatoes and add other vegetables like zucchini, bell peppers or mushrooms.
- If you are soy-free, use two 15 oz cans of white beans instead of the tofu. Stir them into the caserole at the same time as you would the tofu and bake.
- Leftovers of the tofu casserole can be stored in the refrigerator for up to four days.
- For longer storage, freeze in an airtight container for up to three months. Defrost and reheat in a preheated 350 degree oven for 5-10 minutes or until warmed through.
Nutrition Information
To print recipe card without images, uncheck "instruction images" after clicking the "print recipe" button.










John-Mark says
There is a wonderful product on the market called PUMFU, a tofu alternative made of pumpkin seeds. It is organic, soy-free, gluten-free, vegan, and has 17g of plant-based protein per serving.
This product is a great stand in for regular tofu, and, at 2g Net Carbs per entire package, is a lower carb alternative than adding white beans if one is avoiding soy.
I bought this product out of curiosity, and liked it very much. The only way it seems all that much different from regular tofu is its light green colour.
You can find it (and a store locator) at: https://foodiesvegan.com/products/pumfu-original
Now, I gotta get on with making this yummy looking tofu casserole of yours! Thanks for all you do.
Deb says
This was SO GOOD! I used real cheese because I'm a cheese whore from Minnesota, lol. No regrets. Thank you!!!
mtag says
Thank you for sharing this recipe. It is cooling right now, but I went shopping for a jalapeño pepper, then saw you wrote minced chili pepper. Would you mind telling us which to use (or which you prefer)?
Vaishali says
Jalapeno is perfect!
Ellen says
I've made this twice now. I followed the recipe as written the first time and loved it. Played around with some substitutions tonight (sweet potatoes instead of yellow/red, added broccoli and zucchini) and loved it again. This will definitely be in my regular rotation, thank you so much!
Vaishali says
So happy you made the recipe, Ellen! Love that you added sweet potatoes. 🙂
Deb Dean says
This casserole is amazing! This will likely go into my regular rotation. Thank you so much for sharing!
Vaishali says
So happy to hear, Deb! Thanks for letting me know.
Christine Chevalier says
Made this last night - Holy Cow!!! What a great dinner! I made a few changes due to not having all the ingredients. And I cut back on the heat...a lot!!! Definitely will make it again - maybe with fewer potatoes, some cauliflower, spinach, and peas!
I have made a lot of your recipes and have really loved them all! Thank you so much!
Vaishali says
Hi Christine, thanks for the kind message. So awesome you made the casserole!! You can definitely replace the potatoes with healthier veggies.
Lara says
This was phenomenal. We wiped the casserole clean at dinner. Five stars!
Vaishali says
Hi Lara, so happy to hear!
Chris Day says
Hey there! It says to stir in the garam masala but there's no measurement listed. 🙂
Chris Day says
I just refreshed my page and there it was! Thank you!
Vaishali says
Awesome! 🙂
Simone says
This sounds really tasty and I'll have to try it.
Please also add the garam masala in the printed ingredients lists, it somehow got lost.
Vaishali says
Thanks for the heads up, Simone, I've added it to the recipe card.
Andie S says
Love this dish! Am keeping it amongst our favourites to regularly cook - thank you 🙏