Tofu curry brings just the right spices to the table. When you are looking for a delicious tofu curry with coconut milk for your vegan main dish, I’ve got you covered with an easy recipe.

This tofu curry recipe is a game changing Indian recipe fit for royalty. I love that curry has an amazing flavor profile that fits with many proteins, no matter your diet. The great thing about it is you don’t even necessarily have to make it spicy-hot. The Indian spices are simply a new profile for some of us, and can be warming instead of light your mouth on fire hot.
I love to go simple and serve this with cooked white rice. You can always serve it next to brown rice, quinoa, or even pasta. Steamed broccoli is the perfect blank canvas to soak up even more of the sauce. Let’s curry!
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
Ingredients for Tofu Curry
Reach for the firm tofu that I hope is always in your fridge! Some of the spices used might be new to you, so give the list a read and see if you need to make a run to the store. All of these items should be available at your regular grocery store.
- 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!
- Garlic & Shallots: These give us a flavorful base for the curry.
- Spices: Yup, there are five jars of spices needed here, plus salt to tie it all together – garam masala, cumin, coriander, 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!
Ingredient tip
Are you familiar with garam masala? This spice blend originates from India and can vary based on what region it is from and what brand you buy. Some of the traditional spices included are: cinnamon, cloves, nutmeg, cardamom, coriander, and peppercorns. These are mainly used as warm baking spices in the US and are what give curry its unique flavor.
How to make Tofu Curry Coconut Milk
It’s worth the extra time here in this recipe to brown the tofu on all sides before proceeding with the rest of the steps. Yes, that means flipping each and every cube over until each edge is golden brown!
Step 1: Rice
If you want to serve your tofu curry Indian style with white rice (and don’t have leftovers in the fridge!) get that started now with whatever your favorite cooking method is.
Step 2: Tofu
Pat the firm tofu dry. I don’t always press out the excess moisture before using it in this recipe, but you can if you like. Then cut it into bite-size cubes so it’s easy to eat. Finally, give it a good sear in the skillet, making sure each side of every cube is a beautiful golden color.
Step 3: Flavor
Add the garlic and shallot to the pan, keeping it moving until fragrant. Don’t walk away at this step as these ingredients burn easily.
Step 4: Spices
Stir in all the spices and seasoning and make sure every piece of tofu is evenly coated. Things will really start looking (and smelling!) great at this point.
Step 5: Cans
No curry is complete without the sauce, so here is where we add the can of tomatoes (with their juices) and coconut milk. Cover and let gently simmer for about 15 minutes so all the flavor develops and everything is heated through.
Step 6: Serve
By now your rice should be ready, so add it to your serving bowls. Ladle on a heaping serving of this tofu curry. Lastly, sprinkle on some minced fresh cilantro for a final burst of flavor.
Recipe tips
Leftovers: Got leftovers? Both rice and curry will reheat well in the next day or two if stored in an airtight container. Best stored separate from each other!
Cool It Off: Plain yogurt is the perfect accompaniment to cut the heat in your bowl.
Swap It Out: Whether you aren’t a fan of tofu, or have a pack in your fridge – tempeh is a great substitute here. While it does have a stronger flavor than tofu, it will still play nicely with the curry sauce.
An Indian Feast
Indian food is so rich and flavorful, perfect for serving as a whole meal! Here are a few pairing ideas for this tofu curry:
- Homemade Naan is essentially a given because you can wipe up every last drop of sauce from your bowl.
- Meal Prep Your Curry, to make this recipe into some quick and easy lunches.
- Oven Roasted Chickpeas, will add a great little crunch on top of your curry.
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 tofu, then cut it into bite-sized cubes. Heat 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 the shallot and garlic to the pan, continuing to cook until shallot is soft and fragrant, another 2 minutes.
- Spices: Stir in garam masala, cumin, coriander, paprika, and salt to evenly coat the tofu.
- Cans: Add the can of coconut milk and (undrained) diced tomatoes. Bring to a gentle simmer, cover, and let cook for 15 minutes.
- Serve: Serve warm over rice, topped with fresh cilantro.
Barbara says
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.
Sarah Bond says
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).
Janis Evans says
Just had this for lunch and it was delicious! We liked that the tofu did not have to be pressed which saved time.
Amanda Buchner says
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.