This post contains affiliate links.
Ready in just 30 minutes and packed with cozy flavors, this Indian-inspired tofu curry is an easy weeknight staple. When you need a one pot dinner that also happens to be vegan, I’ve got you covered with this simple curry recipe.

This tofu curry recipe is a game-changing Indian recipe. You can adjust the spice level and add veggies to fit your preference and what you have on hand.
And while curry might seem tedious to prepare, it’s actually incredibly simple to make and is an ideal choice for busy nights or even as a vegan meal prep option.
Reader rating
“Just had this for lunch and it was delicious! We liked that the tofu did not have to be pressed which saved time.” —Janis

Key Ingredients
All of these items should be available at your regular grocery store. Jump to the recipe card for exact measurements!
- Firm Tofu: This vegan protein is a blank canvas for anything you throw at it and will soak up all the color and flavor we add. For a soy-free version of this recipe, use chickpea tofu!
- Spices: Yup, there are five jars of spices needed here to tie it all together – garam masala, cumin, coriander, salt, and smoked paprika.
- Coconut Milk: This is one of the most versatile non-dairy ingredients for adding creaminess. The coconut flavor is classic for curry.
- Diced Tomatoes: Diced tomatoes provide a tasty umami flavor to tie it all together!
tofu alternatives
If you aren’t a fan of tofu or don’t have a pack in your fridge, tempeh is a great substitute. While it does have a stronger flavor than tofu, it will still play nicely with the curry sauce. You could also use paneer, cauliflower, or white beans instead of the tofu.


Indian-Inspired Tofu Curry with Coconut Milk
Ingredients
- 1 block firm tofu, 453 g
- 2 Tbsp olive oil, 30 mL
- 1 shallot, finely chopped, about ½ cup
- 3 cloves garlic, minced
- 2 tsp garam masala
- 1 tsp each cumin, coriander, smoked paprika, salt
- 1 14-oz can coconut milk, 400 g
- 1 14-oz can diced tomatoes, 400 g
- To serve: rice, cilantro
Instructions
- Rice: If serving with rice, get that started now.
- Tofu: Pat dry 1 block firm tofu, then cut it into bite-sized cubes. Heat 2 Tbsp olive oil in a large pot or pan, then add cubed tofu. Cook until tofu is golden brown and crispy on all sides, about 10 minutes.
- Flavor: Add 1 shallot (diced) and 3 cloves garlic (minced) to the pan, continuing to cook until shallot is soft and fragrant, another 2 minutes.
- Spices: Stir in 2 tsp garam masala1 tsp each cumin, coriander, smoked paprika, salt to evenly coat the tofu.
- Cans: Add 1 14-oz can coconut milk and 1 14-oz can diced tomatoes (undrained). Bring to a gentle simmer, cover, and let cook for 15 minutes.
- Serve: Serve warm over rice, topped with fresh cilantro.
Notes
Nutrition
Nutrition information calculated by Sarah Bond, degreed nutritionist.



















I have a question about your nutrition information. You used 1 teaspoon of salt (2300 mg sodium) plus canned tomatoes that also contain added sodium. The recipe says it makes 2 servings. That would have about 1400 mg of sodium per serving. The serving size also seems generous. Is your analysis based on 4 servings?
My husband and I need heart healthy, low sodium recipes so I’m always looking at salt levels. Otherwise this curry looks delicious and very easy.
Thanks for pointing this out, Barbara! That should have said 4 servings – sorry about that! (With that said, you can definitely reduce the table salt in this recipe if your diet requires it).
Just had this for lunch and it was delicious! We liked that the tofu did not have to be pressed which saved time.
I made this recipe after already trying the kidney bean curry and loving it. I assumed this recipe would be the same combination of flavors but a different protein. After making this recipe, I felt like it was lacking some of the flavor I really enjoyed in the kidney bean curry. I ended up going back to that recipe and adding some of the other listed ingredients from there (soy sauce, lime juice, and chili powder) to add some extra flavor I was missing. Overall this recipe is very good and was quite easy, it was just lacking a little flavor as compared to the kidney bean curry in my opinion.
Hi – love your recipes! Question on the Tofu Curry – does your nutritional table include the rice? Thanks
It doesn’t include the rice – great question!
I tried this recipe because my husband wanted some tofu, so I looked for an easy recipe and I decided on this one. The recipe is really good, I just needed to add some heat, and coconut flavor to it for my taste buds. I would would make this recipe again.
My family loved this!
I’m so happy to hear it, Brenda! Enjoy!!