A hot, nourishing tofu casserole with veggies and Indian spices in a richly delicious tomato sauce.
This vegan Indian-Spiced Tofu Casserole makes great eats any time of day, from breakfast and brunch to lunch and dinner. 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 already 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 once it's all done you have a tasty, nourishing meal you will want to make again and again.
Why you'll love this vegan tofu casserole
- It's 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.
- It's healthy. There are lots of veggies in this dish, and the tofu adds heart-healthy protein.
- It's 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.
- It's 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 or air-fried 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.
Related recipes


Vegan Indian-Spiced Tofu Casserole
Equipment
- 1 large oven-proof skillet (if you don't have an oven-proof skillet use a regular skillet and transfer the casserole to it after adding the tofu and before sprinkling on the cheese)
Ingredients
- 1 tablespoon vegetable 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)
- 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.
Recipe 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.
mtag
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)?
Ellen
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!
Deb Dean
This casserole is amazing! This will likely go into my regular rotation. Thank you so much for sharing!
Vaishali
So happy to hear, Deb! Thanks for letting me know.
Christine Chevalier
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
Hi Christine, thanks for the kind message. So awesome you made the casserole!! You can definitely replace the potatoes with healthier veggies.
Lara
This was phenomenal. We wiped the casserole clean at dinner. Five stars!
Vaishali
Hi Lara, so happy to hear!
Chris Day
Hey there! It says to stir in the garam masala but there's no measurement listed. 🙂
Chris Day
I just refreshed my page and there it was! Thank you!
Vaishali
Awesome! 🙂
Simone
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
Thanks for the heads up, Simone, I've added it to the recipe card.
Andie S
Love this dish! Am keeping it amongst our favourites to regularly cook - thank you 🙏