Vegan Curry with Tofu

Featured in Simple Healthy Meals.

This vegan curry brings together bold flavors, nourishing ingredients, and aromatic spices for a hearty, plant-based dish. Cauliflower and spinach are simmered in a fragrant, creamy coconut-tomato base, while boiled tofu adds protein and texture. Cumin, mustard seeds, turmeric, garam masala, and curry leaves give it depth of flavor. It's balanced with a splash of fresh lemon juice and garnished with cilantro for a touch of brightness. Serve this vibrant curry with rice or flatbread for a satisfying meal that’s perfect for everyday dining or special occasions.

Mina cooking in her kitchen
Updated on Tue, 22 Apr 2025 03:42:56 GMT
A bowl of food with a spoon in it. Pin it
A bowl of food with a spoon in it. | lastminrecipes.com

This fragrant vegan curry with tofu and cauliflower brings restaurant-quality Indian flavors right to your dinner table. The combination of aromatic spices, creamy coconut milk, and protein-packed tofu creates a satisfying meal that even dedicated meat-eaters will love.

I first made this curry during a rainy weekend when I craved something warming yet healthy. The combination of frozen-then-thawed tofu creates a remarkably meaty texture that absorbs all the incredible spice flavors. It's now my go-to recipe whenever I'm cooking for friends with dietary restrictions.

Ingredients

  • Avocado oil or neutral oil: Provides a clean base for blooming the spices without adding competing flavors
  • Cumin seeds and black mustard seeds: These whole spices release intense aromatic oils when heated that ground spices simply cannot match
  • Fresh garlic and ginger: The foundation of any good curry, always use fresh for the brightest flavor
  • Serrano peppers: Adjust based on your heat preference, remove seeds for milder heat
  • Ground spices: Coriander, turmeric, paprika, cinnamon, and nutmeg create depth and complexity
  • Curry leaves: These aromatic leaves add an authentic flavor that's impossible to substitute
  • Full-fat coconut milk: Provides richness and creaminess essential for balancing the spices
  • Extra-firm tofu: Previously frozen and defrosted for a meatier, more absorbent texture
  • Cauliflower florets: Absorb the curry flavors while adding hearty texture and nutrients
  • Fresh spinach and cilantro: Add brightness, color and fresh flavor at the end of cooking

Step-by-Step Instructions

Bloom the spices:
Heat oil in a large sauté pan over medium-high heat until shimmering. Add cumin and mustard seeds, cooking until they begin dancing and popping in the pan, about 45-60 seconds. This releases their essential oils and creates the foundational flavor for the entire dish.
Create the aromatic base:
Add minced garlic, ginger, and diced serrano peppers to the bloomed seeds, cooking for 90 seconds while stirring frequently. If using stainless steel, you may need to add a splash of water to prevent sticking. The mixture should become intensely fragrant.
Add ground spices:
Sprinkle in turmeric, coriander, paprika, cinnamon, nutmeg, and curry leaves, cooking for just 30 seconds until fragrant but not burnt. The spices will look dry but will bloom in the next step.
Build the curry sauce:
Pour in coconut milk, using it to deglaze the pan by scraping up those flavorful browned bits. Add tomato sauce and sugar, bringing to a rapid simmer. Let it reduce for 3 minutes, stirring occasionally as it starts to thicken and the flavors meld.
Cook the cauliflower:
Add cauliflower florets, salt, and pepper to the simmering sauce, spooning the curry over the florets to coat them completely. Cover and maintain a steady simmer for 12-13 minutes, stirring occasionally, until cauliflower is fork-tender but not mushy.
Prepare the tofu:
While the cauliflower cooks, bring a large pot of water to boil. Take your previously frozen and defrosted tofu and squeeze out excess water by hand. Slice into 3/4-inch cubes, then boil for 2 minutes in salted water. This parboiling step creates a springy texture that absorbs flavor beautifully.
Finish the curry:
When cauliflower is tender, stir in garam masala and spinach, cooking just until spinach wilts. Gently fold in the boiled tofu cubes, allowing them to absorb the flavors without breaking apart.
Brighten and serve:
Turn off heat and stir in fresh lemon juice and chopped cilantro. Taste and adjust salt as needed. Serve hot over rice or with flatbread of your choice.
A bowl of curry with a spoon in it. Pin it
A bowl of curry with a spoon in it. | lastminrecipes.com

The previously frozen tofu is my secret weapon in this recipe. After discovering this technique from a Chinese cooking blog, I never make tofu curry without it. The freezing process creates tiny ice crystals that puncture the tofu's cell walls, resulting in a more porous, meat-like texture that soaks up the curry sauce like a flavor sponge.

The Magic of Previously Frozen Tofu

Freezing transforms ordinary tofu into something extraordinary. When tofu freezes, the water inside expands, creating hundreds of tiny pockets throughout the block. Upon thawing, these pockets remain, allowing the tofu to absorb significantly more flavor than fresh tofu. The texture also becomes chewier and more substantial, giving it an almost meat-like quality that satisfies even the most dedicated carnivores. For best results, freeze the tofu in its original packaging for at least 24 hours, then defrost in the refrigerator overnight before using.

Spice Level Customization

This curry can be adjusted to suit any heat preference. For a family-friendly version, use just one seeded serrano pepper and mild paprika. For spice enthusiasts, keep the seeds in all three serranos and opt for hot paprika instead of sweet. The coconut milk helps balance the heat, but you can also serve yogurt on the side for those who prefer a milder experience. Remember that the spice level will intensify slightly as leftovers sit, so consider going a touch milder if you plan to enjoy this curry over several days.

Make-Ahead and Storage Tips

This curry actually improves with time as the flavors meld together. You can prepare it up to three days ahead and store it in an airtight container in the refrigerator. Just keep the rice or bread separate to prevent them from absorbing all the delicious sauce. For freezing, cool the curry completely before transferring to freezer-safe containers. It will maintain quality for up to three months. When reheating, add a splash of water or coconut milk if the sauce has thickened too much, and finish with fresh cilantro and a squeeze of lemon for brightness.

A bowl of food with a spoon in it. Pin it
A bowl of food with a spoon in it. | lastminrecipes.com

Serve this dish with rice or naan for a complete meal, and enjoy the wealth of flavors in every bite!

Frequently Asked Questions

→ How can I make this curry spicier?

Increase the number of serrano peppers or use spicier varieties like Thai chilies. You can also add more paprika or a pinch of cayenne pepper.

→ Can I substitute tofu with another protein?

Yes, chickpeas or tempeh work great as substitutes. You can also use roasted vegetables for a hearty alternative.

→ What type of flatbread pairs well with this dish?

Flatbreads like naan, roti, or even pita work wonderfully to scoop up the curry.

→ How do I store leftovers?

Store the curry and rice separately in airtight containers in the fridge for up to 3 days. Reheat gently on the stove or in a microwave, adding a splash of water if needed.

→ Can I make this dish ahead of time?

Yes, the curry tastes even better the next day as the flavors meld. Prepare it ahead, but add the spinach and lemon juice right before serving.

→ What can I use instead of curry leaves?

Although curry leaves impart a unique flavor, you can substitute with a small piece of bay leaf or skip it altogether.

→ Is there a way to make it lower in fat?

Use light coconut milk instead of full-fat and reduce the amount of cooking oil to lighten the dish.

Vegan Curry with Tofu

Rich vegan curry with tofu, cauliflower, and warming spices in a creamy coconut sauce.

Prep Time
20 Minutes
Cook Time
25 Minutes
Total Time
45 Minutes
By: Mina

Category: Healthy Eating

Difficulty: Intermediate

Cuisine: Indian

Yield: 4 Servings

Dietary: Vegan, Vegetarian, Gluten-Free, Dairy-Free

Ingredients

→ Curry

01 2 tablespoons avocado oil or neutral-flavored oil
02 2 teaspoons cumin seeds
03 2 teaspoons black mustard seeds (or brown mustard seeds)
04 6 cloves garlic, minced
05 2-inch piece fresh ginger, minced or grated
06 1 to 3 serrano peppers, diced
07 1 1/2 teaspoons coriander
08 1 teaspoon ground turmeric
09 1 teaspoon sweet or hot paprika
10 1/4 teaspoon ground cinnamon
11 1/4 teaspoon freshly grated or ground nutmeg
12 15 to 20 dried curry leaves
13 1 (13.5-ounce/400 mL) can full-fat coconut milk
14 1 (8-ounce/227 g) can tomato sauce
15 1 tablespoon organic cane sugar or coconut sugar
16 450 to 500 g cauliflower florets (from one small cauliflower)
17 1 1/2 teaspoons kosher salt
18 Freshly cracked black pepper, to taste
19 1 (14-ounce/400 g) block of extra-firm tofu, previously frozen and defrosted
20 2 teaspoons sea salt (or 4 teaspoons Diamond Crystal kosher salt)
21 2 teaspoons garam masala
22 3 cups (45 g) baby spinach, chopped
23 1/2 to 1 tablespoon freshly squeezed lemon juice
24 1 cup (16 g) cilantro leaves and tender stems, chopped

→ Serving

25 Cooked white or brown rice, or flatbread of choice

Instructions

Step 01

Heat oil in a 12-inch sauté pan over medium-high heat. Once hot, add cumin and mustard seeds, cooking until popping and cumin seeds turn golden, about 45 to 60 seconds. Stir in garlic, ginger, and serrano peppers; cook for 90 seconds, stirring frequently. Add turmeric, coriander, paprika, cinnamon, nutmeg, and curry leaves, cooking for 30 seconds.

Step 02

Deglaze pan by adding coconut milk, scraping up browned bits with a spatula. Stir in tomato sauce and sugar, bringing mixture to a rapid simmer. Simmer for 3 minutes, stirring occasionally.

Step 03

Add cauliflower florets, kosher salt, and black pepper to the curry. Stir to coat, cover pan with a lid, and reduce heat to maintain a simmer. Cook for 12 to 13 minutes, stirring occasionally, until curry thickens and cauliflower becomes fork-tender.

Step 04

Bring a large pot of water to a boil. Drain defrosted tofu and squeeze out excess water without breaking it apart. Slice tofu vertically into 4 slabs, press with paper towels, and cut into 3/4-inch cubes (approximately 48 cubes).

Step 05

Once water is boiling, add sea salt. Lower tofu cubes into water using a slotted spoon. Return to a boil, cooking tofu for 2 minutes. Remove tofu with slotted spoon and drain well.

Step 06

When cauliflower is tender, stir in garam masala and chopped spinach. Cook until spinach wilts. Gently fold boiled tofu into the curry and stir to combine. Turn off heat, mix in lemon juice and chopped cilantro, and adjust seasoning with salt if needed. Serve curry over rice or with flatbread, keeping leftovers separate.

Notes

  1. For balanced heat, adjust the number of serrano peppers based on your spice tolerance.
  2. If using a stainless steel pan, stir curry constantly to prevent sticking, adding splashes of water as needed.

Tools You'll Need

  • 12-inch sauté pan
  • Large pot
  • Slotted spoon or spider tool
  • Spatula
  • Knife and cutting board

Allergy Information

Please check ingredients for potential allergens and consult a health professional if in doubt.
  • Contains coconut (coconut milk).

Nutrition Facts (Per Serving)

It is important to consider this information as approximate and not to use it as definitive health advice.
  • Calories: 320
  • Total Fat: 23 g
  • Total Carbohydrate: 18.5 g
  • Protein: 12 g