Here’s a creamy and fragrant Indian Tofu curry that can be cooked up in less than 30 minutes with a handful of simple ingredients.
The creamy texture of tofu combined with the rich tomato-based sauce makes for a hearty and satisfying meal that's perfect for any occasion. Whether you're a tofu fan or just looking for a flavorful twist on traditional curry, this easy tofu curry is sure to impress.

Jump to:
Indian cuisine is widely regarded as one of the most diverse and flavorful cuisines in the world, and for good reason! I love how different spices are used to add a depth of flavor, making every single dish a delight for the taste buds.
This Indian tofu curry is no exception. It includes a variety of Indian spices in a creamy tomato-coconut sauce. I also love how customizable this curry sauce is and that you can pop in other veggies and ingredients to change it up.
If you’re a fan of Indian recipes, you should try my Indian Cauliflower Curry or the Red Lentil Dahl I have up on my site.
For more tofu recipes see Sticky Tofu, Tofu Ground Beef, Tofu Bolognese or 35 Silken Tofu Recipes.
Why you'll love this recipe
- Plant based: a great option if you’re looking for a creamy plant-based recipe.
- Protein loaded: tofu is a great source of protein and contains all the essential amino acids your body needs.
- Budget friendly: If you’re into Indian cuisine, its likely you already have a bunch of these ingredients in your pantry and the rest are relatively low-cost.
- Fragrant and flavorful: the tomato and creamy notes in this recipe, paired with the spices make for a super tasty dish.
Ingredients & substitution notes
- Olive oil: or coconut oil instead. Avocado oil is also great vegetable oil to use in this Indian curry sauce as it carries the spices and flavors without overpowering them.
- Tofu: firm tofu cubes (or extra-firm)- not soft silken tofu. If possible, use an organic block of tofu. Could be replaced with tempeh or paneer.
- Onion: red or yellow onion are both totally fine for this delicious vegan curry.
- Garlic: go easy with the garlic so that it doesn’t burn and turn the sauce bitter.
- Ginger: fresh brightens up the creamy ingredients and brings balance to the overall dish.
- Cumin and coriander powder: These add a lot of flavor to the sauce so try not omit them.
- Garam masala: this powder is already roasted and doesn’t require too much time in the pan before adding the wet ingredients.
- Curry powder: use a mild, medium or hot curry powder, depending on your heat preference.
- Diced Tomatoes
- Vegetable Broth: Homemade or store-bought broth are both great, as long as its full of flavor.
- Coconut Milk: full-fat coconut milk results in a creamier curry but it has more calories.
See recipe card for quantities.
Step-by-step instructions
STEP 1: Drain the tofu block, absorb any excess moisture by wrapping it in a cloth or paper towels and weighing it down with a heavy object (not too heavy). Or, press the tofu down firmly with your hands a couple of times to release any extra liquid.
STEP 2: Cut the tofu block into cubes. Heat the oil in a non-stick skillet and brown the cubed tofu on all sides until golden brown. Season with salt. Remove the pan-fried tofu from the pan and set it aside.
STEP 3: Add some olive oil, the diced onion and garlic and fry them over a medium heat until they are soft and translucent. Add in the ginger and the spices and fry them for 30 seconds.
STEP 4: Stir in the diced tomatoes and simmer for about 10 minutes. Season again with salt.
STEP 5: Add the tomato and the veggie stock to a blender and blend until smooth.
STEP 6: Add the blended tomato sauce back to the pan and pour in the coconut milk and tofu. Stir until you have a smooth and creamy sauce. Simmer for 5 minutes and serve.
Katie's tips
- High quality tofu: if you’re able to get organic tofu that’s great. Otherwise, just use the best quality, fresh tofu you can get your hands on.
- Drain & press tofu: Don’t forget to drain the tofu this is important if you want to get crisp and golden tofu.
- Season the tofu with salt when frying.
- Full-fat coconut milk: use full-fat coconut milk that resembles the texture of heavy cream for a thick and rich sauce.
Variations
- Creamier Texture: Add more coconut milk for a creamier curry.
- Spicy: add chili peppers or red chili powder for a hit of heat.
- More Veggies: try chickpeas (my favorite), spinach, bell peppers or peas.
- Leavy Greens: stir in some fresh baby spinach or kale towards the end.
Pairing
This tofu curry pairs well with a variety of side dishes such as plain rice, cauliflower rice, naan or roasted vegetables.
Make ahead options
This curry is a great dish for meal prep. Make it the day/evening before and store it in the fridge in an airtight container. That way you'll have a nutritious meal ready the next day.
Storage
- To store: store your Indian tofu curry in an airtight container in the fridge for around 2 days.
- Freezer friendly? I do not necessarily recommend freezing tofu as this will change the tofu's texture slightly.
- To reheat: When you reheat the sauce, keep in mind you may need to add a little plant-based milk to thin the sauce back.
FAQs
Firm or extra-firm tofu is best so that the cubes retain their structure.
I usually recommend blending it to achieve a very smooth and creamy texture.
Very mild but feel free to spice it up if you like by adding in chili powder.
The main difference between is the fat content. Full-fat coconut milk is made by blending coconut meat with water and then straining it. Light coconut milk, on the other hand, is made by diluting full-fat coconut milk with water to reduce the fat content. Full-fat coconut milk is generally richer and creamier than light coconut milk, and has a stronger coconut flavor.
Coconut cream is thicker and richer than coconut milk because it has a higher concentration of coconut solids. You can also use the cream but the sauce will be thicker.
More curries and stews
📖 Recipe
Indian Tofu Curry
Ingredients
- olive oil
- 12 oz tofu
- 1 onion ,finely chopped
- 3 garlic cloves ,finely chopped
- 1 teaspoon cumin powder
- 1 teaspoon coriander powder
- 1 teaspoon garam masala
- 2 teaspoon curry powder
- 1 inch piece of ginger ,minced
- 14,5 oz can diced tomatoes
- ¼ cup veggie stock
- ½ cup coconut milk
Instructions
- Drain + press the tofu. Then remove any excess water by wrapping a clean kitchen or paper towel around your tofu and apply a weight (something like a heavy pan or simply push down a couple of times with your hands) to squeeze out moisture.12 oz tofu
- Cut the tofu into bite-sized cubes.
- In a large skillet, heat some olive oil over medium heat.
- Add the tofu. Season with a pinch of salt and fry until tofu is slightly browned and cripsy. Stir constantly and try to fry the tofu on all 4 sides. Then remove the tofu from the pan and set aside.
- To the same pan, add some olive oil, onion and garlic and fry until onion is translucent.1 onion, 3 garlic cloves
- Add spices (cumin curry, garam masala, coriander) and ginger and fry for another 30 seconds.1 inch piece of ginger, 1 teaspoon cumin powder, 1 teaspoon coriander powder, 1 teaspoon garam masala, 2 teaspoon curry powder
- Add diced tomatoes and a pinch of salt. Let simmer without a lid on low heat for 8-10 minutes.
- Transfer the tomato sauce to a blender. Add the veggie stock and blend until smooth. Then add the sauce from the blender back to the pan.¼ cup veggie stock
- Add the coconut milk and tofu (and other optional add-ins such as chickpeas). Bring to a simmer for 5 minutes. Taste and adjust salt and spices.½ cup coconut milk
- Serve with rice or homemade naan.
Video
Notes
- High quality tofu: if you’re able to get organic tofu that’s great. Otherwise, just use the best quality, fresh tofu you can get your hands on.
- Drain & press tofu: Don’t forget to drain the tofu this is important if you want to get crisp and golden tofu.
- Full-fat coconut milk: use full-fat coconut milk that resembles the texture of heavy cream for a thick and rich sauce.
- More veggies: try cooked chickpeas (my favorite), spinach, bell peppers or peas.
- Meal prep: Make it the day/evening before and store it in the fridge in an airtight container.
- To store: store your Indian tofu curry in an airtight container in the fridge for around 2 days.
- Freezer friendly? I do not necessarily recommend freezing tofu as this will change the tofu's texture slightly.
Leave a Reply