Vegan Curry with Tofu Recipe
Introduction
This flavorful vegan curry with tofu combines a rich blend of spices, creamy coconut milk, and tender cauliflower for a satisfying meal. It’s perfect for anyone looking for a hearty, plant-based dish that’s both comforting and vibrant. Ready in just 40 minutes, this curry pairs wonderfully with rice or flatbread.

Ingredients
- 2 tablespoons avocado oil or neutral-flavored oil of choice
- 2 teaspoons cumin seeds
- 2 teaspoons black mustard seeds (can substitute brown mustard seeds)
- 6 cloves garlic, minced
- 2-inch piece fresh ginger, minced or grated
- 1 to 3 serrano peppers, diced
- 1 1/2 teaspoons coriander
- 1 teaspoon ground turmeric
- 1 teaspoon sweet or hot paprika
- 1/4 teaspoon ground cinnamon
- 1/4 teaspoon freshly grated or ground nutmeg
- 15 to 20 dried curry leaves
- 1 (13.5-ounce/400 mL) can full-fat coconut milk
- 1 (8-ounce/227g) can tomato sauce
- 1 tablespoon organic cane sugar or coconut sugar
- 1 small cauliflower head, cut into small florets (450 to 500g)
- 1 1/2 teaspoons kosher salt
- Freshly cracked black pepper to taste
- 1 (14-ounce/400g) block extra-firm tofu, previously frozen and defrosted
- 2 teaspoons sea salt (or 4 teaspoons Diamond Crystal kosher salt)
- 2 teaspoons garam masala
- 3 cups (45g) baby spinach, chopped
- ½ to 1 tablespoon freshly squeezed lemon juice
- 1 cup (16g) cilantro leaves and tender stems, chopped
- Cooked white or brown rice, or flatbread of choice
Instructions
- Step 1: Heat the oil in a 12-inch sauté pan over medium-high heat. Add the cumin and mustard seeds and cook until popping and the cumin seeds turn golden, about 45 to 60 seconds. Stir in garlic, ginger, and serrano peppers, cooking for 90 seconds while stirring frequently. Add turmeric, coriander, paprika, cinnamon, nutmeg, and curry leaves; cook for 30 seconds, stirring constantly. If using a stainless steel pan, add a splash of water as needed to prevent sticking.
- Step 2: Deglaze the pan by pouring in the coconut milk and scrape up any browned bits with a spatula. Add tomato sauce and sugar, then bring to a rapid simmer. Stir occasionally and simmer for 3 minutes.
- Step 3: Add the cauliflower florets, kosher salt, and pepper. Spoon curry over the cauliflower, cover the pan with a lid, adjust heat to maintain a steady simmer, and cook for 12 to 13 minutes. Stir occasionally until the sauce thickens slightly and the cauliflower is fork-tender.
- Step 4: While the cauliflower simmers, prepare the tofu. Bring a large pot of water to a boil. Drain the defrosted tofu and squeeze out excess water carefully without breaking it. Slice tofu vertically into 4 slabs, press them gently with towels to remove more moisture, then cut each slab in half lengthwise to make 8 slabs. Chop into approximately ¾-inch cubes (about 48 cubes).
- Step 5: Add sea salt to the boiling water. Using a slotted spoon, lower the tofu cubes into the boiling water. Once the water returns to a boil, let tofu boil for 2 minutes. Remove tofu with the slotted spoon and drain well.
- Step 6: Add garam masala and chopped spinach to the curry. Stir and cook briefly until the spinach wilts. Nestle the boiled tofu into the curry and toss to combine. Turn off the heat, stir in lemon juice and cilantro, and adjust seasoning with salt if needed. Serve over cooked rice or with flatbread, keeping leftovers separate from rice to preserve the sauce.
Tips & Variations
- If you prefer a milder curry, reduce the serrano peppers or remove seeds before dicing.
- Freezing and defrosting the tofu before cooking helps improve its texture and allows it to absorb more flavor.
- For extra creaminess, add a spoonful of cashew cream or coconut yogurt just before serving.
- Try substituting cauliflower with broccoli or mixed vegetables for a variation in texture and taste.
Storage
Store leftovers in an airtight container in the refrigerator for up to 4 days. Reheat gently on the stove or in the microwave until warmed through. If the curry thickens too much in the fridge, stir in a splash of water or coconut milk to loosen the sauce when reheating.
How to Serve

Serve this delicious recipe with your favorite sides.
FAQs
Can I use fresh turmeric instead of ground turmeric?
Yes, you can use fresh turmeric, but use about 1 tablespoon grated fresh turmeric in place of 1 teaspoon ground. Adjust to taste as fresh turmeric has a more vibrant flavor.
Do I need to boil the tofu before adding it to the curry?
Boiling the tofu helps firm it up and removes excess water, improving its texture and allowing it to better absorb the curry flavors. However, you can skip this step if you prefer to pan-fry or bake the tofu separately before adding it to the curry.
PrintVegan Curry with Tofu Recipe
A vibrant and aromatic vegan curry featuring tender cauliflower and boiled tofu simmered in a rich, spiced coconut milk and tomato sauce. This dish combines traditional Indian spices with fresh ingredients like ginger, garlic, serrano peppers, and spinach for a flavorful, satisfying meal served best with rice or flatbread.
- Prep Time: 15 minutes
- Cook Time: 25 minutes
- Total Time: 40 minutes
- Yield: 4 servings 1x
- Category: Main Course
- Method: Stovetop
- Cuisine: Indian
- Diet: Vegan
Ingredients
Spices and Aromatics
- 2 tablespoons avocado oil or neutral-flavored oil of choice
- 2 teaspoons cumin seeds
- 2 teaspoons black mustard seeds (can substitute with brown mustard seeds)
- 6 cloves garlic, minced
- 2-inch piece fresh ginger, minced or grated
- 1 to 3 serrano peppers, diced
- 1 1/2 teaspoons coriander
- 1 teaspoon ground turmeric
- 1 teaspoon sweet or hot paprika
- 1/4 teaspoon ground cinnamon
- 1/4 teaspoon freshly grated or ground nutmeg
- 15 to 20 dried curry leaves
Base and Vegetables
- 1 (13.5-ounce/400 mL) can full-fat coconut milk
- 1 (8-ounce/227g) can tomato sauce
- 1 tablespoon organic cane sugar or coconut sugar
- 1 small cauliflower head, cut into small florets (450 to 500g)
- 1 1/2 teaspoons kosher salt
- Freshly cracked black pepper to taste
- 3 cups (45g) baby spinach, chopped
Tofu
- 1 (14-ounce/400g) block extra-firm tofu, previously frozen and defrosted
- 2 teaspoons sea salt or 4 teaspoons Diamond Crystal kosher salt for boiling tofu
- 2 teaspoons garam masala
Finishing Ingredients
- ½ to 1 tablespoon freshly squeezed lemon juice
- 1 cup (16g) cilantro leaves and tender stems, chopped
- Cooked white or brown rice, or flatbread of choice, for serving
Instructions
- Toast spices and aromatics: Heat the avocado oil in a 12-inch sauté pan over medium-high heat until hot. Add cumin and mustard seeds and cook until the mustard seeds start popping and cumin seeds turn golden, about 45 to 60 seconds. Add minced garlic, ginger, and diced serrano peppers, cooking and stirring frequently for 90 seconds. Then add turmeric, coriander, paprika, cinnamon, nutmeg, and dried curry leaves, cooking and stirring for 30 seconds. If using a stainless steel pan, stir almost constantly to prevent sticking and add a splash of water as needed.
- Prepare curry base: Deglaze the pan by pouring in the coconut milk, scraping the bottom with a spatula to loosen browned bits. Add the tomato sauce and organic cane sugar, stirring to combine. Bring the mixture to a rapid simmer and cook for 3 minutes, stirring occasionally.
- Cook cauliflower: Add cauliflower florets, kosher salt, and freshly cracked black pepper to the curry. Spoon curry over the cauliflower, cover the pan, and adjust heat to maintain a gentle simmer. Cook for 12 to 13 minutes, stirring occasionally, until the sauce thickens slightly and cauliflower is fork-tender.
- Prepare tofu: While cauliflower simmers, bring a large pot of water to a boil. Drain defrosted tofu and squeeze out excess water without breaking it, using paper or dish towels for extra pressing. Slice tofu vertically into 4 slabs, then slice each slab lengthwise in half to make 8 slabs total. Chop into approximately ¾-inch cubes (about 48 cubes from a 14-ounce block).
- Boil tofu: Once water is boiling, add 2 teaspoons sea salt or 4 teaspoons Diamond Crystal kosher salt. Using a slotted spoon, lower tofu cubes into the boiling water. When water returns to a boil, boil tofu for 2 minutes, then remove with slotted spoon and drain well.
- Finish curry and assemble: When cauliflower is tender, add garam masala and chopped spinach to the curry. Stir and cook briefly until spinach wilts. Nestle boiled tofu into the curry and toss gently to combine. Turn off heat, stir in freshly squeezed lemon juice and chopped cilantro. Taste and adjust salt if necessary.
- Serve: Serve the vegan curry hot over cooked white or brown rice, or alongside flatbread, keeping leftovers separate from rice to prevent the rice from absorbing all the sauce.
Notes
- The number of serrano peppers can be adjusted from 1 to 3 depending on your preferred spice level.
- If using a stainless steel pan, stirring frequently and adding small amounts of water helps prevent sticking during spice toasting.
- Previously freezing the tofu before defrosting improves its texture, making it firmer and better able to absorb flavors.
- Squeezing out excess water from tofu before boiling helps it hold its shape and improves texture in the curry.
- Keep leftovers separate from rice to avoid the rice soaking up all the sauce and becoming soggy.
Keywords: vegan curry, tofu curry, cauliflower curry, Indian vegan recipe, coconut milk curry, spicy vegan curry, stovetop curry

