This creamy vegetable curry with tofu and coconut milk made with simple ingredients for a healthy and delicious weeknight meal.

This recipe is easy to customize with any veggies you have available and is ready to enjoy in just 30 minutes.

Bowl of mixed vegetable curry topped with cilantro.

About the Recipe

This is an Indian-inspired curry featuring plenty of veggies in a curry base made from creamy coconut milk and fragrant spices.

The blend of spices includes coriander, cumin and turmeric. The suggested vegetables are carrot, tomato, onion, green peas and spinach, though you can use different vegetables like green beans, broccoli or cauliflower.

The recipe can also be made with chickpeas instead of tofu and leftovers reheat well the next day so feel free to prep this curry in advance.

Serve over basmati or jasmine rice for a delicious recipe the whole family will enjoy.

For more Indian curries, this Vegan Red Lentil Dahl with Coconut Milk and Curried Tofu are both wonderful.

If you’re looking for a Thai curry made with green or red curry paste, try this Vegan Thai Red Curry Recipe with Tofu or Easy Vegetable Green Curry.

Ingredient Notes

Ingredients for a vegan curry recipe with carrot, tomato, coconut milk, tomatoes, green peas and tofu.
  • Tofu: Use firm or extra-firm tofu.
  • Garam Masala: If you don’t enjoy garam masala or don’t have any available, you can substitute curry powder.
  • Cornstarch: Arrowroot powder works as a substitute.
  • Tomato: Use fresh roma tomatoes or substitute a 14 can of diced tomatoes.
  • Coconut Milk: Use full-fat coconut milk for a creamy curry or substitute light coconut milk to reduce the fat and calories.
  • Oil: Coconut oil or vegan butter is suggested for cooking but olive oil or other cooking oil of choice can be used.

This list is not complete. Please see the recipe card at the end of the post for the complete ingredient list with measurements and detailed instructions.

Variations and Additions

  • Chickpeas: 1 can chickpeas can be used instead of or in addition to the tofu.
  • Sweet Potatoes: Add up to 1 cup peeled and diced sweet potato when you add the carrots. You may need a slightly longer cooking time.
  • Additional or Alternative Vegetables: Add up to 2 cups. Broccoli florets, cauliflower florets, chopped zucchini, chopped red bell pepper, chopped green beans.
  • You can increase the cayenne or chili flakes to 1 tsp for increase the heat level.

Step-by-Step Instructions

Tofu cubes mixed with spices in a glass mixing bowl.

Step 1: Toss the tofu cubes with the spices and cornstarch.

Tofu cubes coated in spices cooking in a pan.

Step 2: Heat 1 tbsp oil in a pan and cook the tofu for 6-8 minutes, flipping occasionally until browned on all sides.

Sliced onions cooking in a pan.

Step 3: In the same pan, heat 2 tsp oil and add the onion. Cook for 4-6 minutes, stirring occasionally.

Sliced onion, carrot and bell pepper cooking in a pan.

Step 4: Add the tomatoes, carrot, ginger, garlic, cumin, coriander, turmeric and cayenne and a pinch of salt. Cook for 3-5 minutes until the tomatoes and carrot start to soften.

Creamy coconut curry with chopped carrot, onion and bell pepper cooking in a pan.

Step 5: Add the coconut milk and 1/2 cup water. Bring to a simmer then reduce heat to medium-low and simmer gently about 10 minutes until the carrots are cooked al dente.

Creamy vegetable coconut curry with tofu cubes, spinach and vegetables cooking in a pan.

Step 6: Add the green peas, tofu and spinach. Mix and cook a few more minutes until the spinach wilts and is mixed in.

Serve your curry over basmati rice, brown rice or quinoa to soak up the coconut curry sauce. Even better, with roti, chapati or naan bread for dipping.

Bowl of mixed vegetable curry topped with cilantro.

Recipe FAQs

How long do curry vegetables keep?

You can store this recipe in the fridge in an airtight container for up to 5 days.

Cooking Tips

  • If you don’t have a large saucepan, the curry can be made in a large pot or Dutch oven. It’s still suggested to make the tofu in a skillet though, or it can be baked on a baking tray for about 20 minutes at 350 F.
A forkful of vegetarian curry with vegetables an rice.

Did you try this recipe? I’d love to hear about it! Scroll down to the comment section to leave a star rating and review.

Bowl of mixed vegetable curry topped with cilantro.
Print Recipe
5 from 5 votes

Easy Vegetable Curry with Tofu

An easy mixed vegetable curry recipe you can customize with any veggies for healthy weeknight meal.
Prep Time10 minutes
Cook Time20 minutes
Course: Main Dish
Cuisine: Indian
Diet: Vegan
Servings: 4
Calories: 437kcal
Author: Deryn Macey


For the Tofu

  • 1 block 454g firm or extra-firm tofu, cut into 1-inch pieces
  • ½ tsp garlic powder
  • ½ tsp garam masala or curry powder
  • 2 tsp cornstarch or arrowroot starch
  • 1 tbsp oil
  • Salt and pepper

For the Curry

  • 2 tsp coconut oil or vegan butter
  • 1 yellow onion thinly sliced (1½ cup 130g)
  • 3 cloves garlic minced
  • 1 tbsp grated fresh ginger
  • 2 carrots peeled and cut into thin rounds
  • 3 roma tomatoes chopped (about 2 cups, 315 g)
  • 1 tsp ground cumin
  • 1 tsp turmeric
  • ½ tsp ground coriander
  • ½ tsp cayenne or red pepper flakes
  • 1 400 ml can coconut milk
  • 1 ½ cup cups frozen green peas 21 g
  • 4 cups spinach 70 g
  • Salt and pepper
  • Steamed Basmati for serving
  • Cilantro for garnish


  • Prep Tofu: In a medium bowl, add tofu, garlic powder, garam masala, and cornstarch.  Season with salt and pepper, then toss to coat.
  • Cook Tofu: In a large skillet, heat 1 tbsp oil over medium-high heat. When the pan is hot, add tofu.  Cook for 6-8 min, turning pieces of tofu occasionally, until golden and crisp on all sides.  Transfer tofu to a plate and set aside. 
  • Start Curry: In the same skillet, heat another 1 tbsp oil or vegan butter over medium heat. Add onions, then season with salt and pepper.  Cook for 4-6 min, stirring occasionally, until tender. Add carrots, tomatoes, ginger, garlic, cumin, turmeric, coriander and cayenne. Season with salt. Cook for 3-5 min, stirring often, until tomatoes and carrot start to soften. 
  • Cook Curry: To the pan, add the can of coconut milk and 1/2 cup water. Bring to a simmer, once simmering, reduce heat and simmer gently for 10 minutes until carrots are tender.
  • Add Tofu, Spinach and Peas: Add the tofu, green peas and spinach and cook another 2-3 minutes until the spinach wilts and is mixed in.
  • Serve: Serve tofu curry with steamed rice. Garnish with fresh cilantro and more chili flakes, if desired.


If you do not have a large enough pan, this can be made in a pot as well.  If cooking in a pot, I would recommend still doing the tofu in a pan or baking it in the oven instead. To bake in oven, toss cubes with spices and cornstarch and bake at 350 F for 20 minutes. The tofu can also be added raw at the end, skipping the pan-frying or baking.


Serving: 1g | Calories: 437kcal | Carbohydrates: 27g | Protein: 17g | Fat: 31g | Sodium: 718mg | Fiber: 7g | Sugar: 10g