Dinner

Tofu Curry Recipe — Indian Tomato-Onion Gravy, Vegan

By Heta Updated May 3, 2026

Tofu curry simmers pressed tofu cubes in an Indian tomato-onion gravy with ginger, garlic, and garam masala. Vegan weeknight dinner with rice or roti in 30 minutes.

Tofu curry recipe in a bowl with tomato-onion gravy, cilantro, and basmati rice on wood

There are evenings when I open the fridge hoping for paneer and find a block of tofu instead. On those nights, I stop treating tofu like a backup plan and start treating it like the main ingredient. This easy tofu curry recipe is a simple tomato-onion gravy with spices you probably already have in your masala dabba. It is warm, saucy, and satisfying enough to serve with rice or roti without apology. It is perfect for a weeknight dinner or a relaxed weekend lunch when you want something saucy over rice.

If you are new to Indian tofu curry at home, the goal is texture and patience. You want a firm tofu that holds its shape, and you want a gravy that finishes glossy and cohesive, not watery and thin.

Let us cook this together.

Indian tofu curry in a kadai with wooden spoon and spices on a kitchen counter
Tomato-onion gravy with tofu in the kadai after building the masala

Why This Easy Tofu Curry Recipe Works in Our Kitchen

This recipe leans on the same building blocks as many North Indian curries: onion, ginger-garlic, tomato, and spices. If you have had paneer in a tomato-onion restaurant curry, the rhythm here will feel familiar. Only the protein is tofu. Tofu takes on flavor in the gravy without needing a long marinade. You can skip heavy cream and still get a comforting bowl if you use enough onion and a good simmer.

What makes it practical is that you can choose your level of effort. You can pan-sear tofu cubes for extra chew, or you can simmer gently if you want a softer bite and less oil.

Firm tofu vs extra-firm (what to buy)

For this curry, firm or extra-firm tofu works best. Soft tofu will fall apart in the gravy. If your package says silken, save it for another recipe.

Ingredients You Need (With Smart Swaps)

Labeled tofu curry recipe ingredients on marble; no mustard seeds, tofu and spices

You will need:

  • 14 to 16 oz firm or extra-firm tofu, drained
  • 2 to 3 tablespoons neutral oil (or as needed for sautéing)
  • 1 large onion, finely chopped
  • 1 tablespoon ginger-garlic paste (or 1 teaspoon each minced ginger and garlic)
  • 2 medium tomatoes, pureed or finely chopped (or 3/4 cup canned tomato puree)
  • 1 green chili, slit (optional)
  • 1/2 teaspoon turmeric powder
  • 1 teaspoon coriander powder
  • 1/2 to 1 teaspoon red chili powder (kashmiri works well for color)
  • 1/2 teaspoon garam masala (plus more to finish)
  • Salt, to taste
  • 1/2 to 1 cup water, as needed
  • 2 tablespoons heavy cream or full-fat coconut milk (optional, for richness)
  • Fresh cilantro leaves, for garnish

Useful swaps:

  • No coconut milk? Use a splash of cream, or skip dairy and finish with a little extra onion and a longer simmer for body.
  • No fresh tomatoes? Use canned tomato puree and adjust salt.
  • Want it more Punjabi-style? Add a pinch of kasuri methi at the end.

Why add tofu to this style of curry

  • Tofu brings plant protein and a neutral canvas for spices. For per-serving numbers, check firm tofu in the USDA FoodData Central database (values vary slightly by brand and water content).
  • This recipe is naturally vegetarian and can be made vegan tofu curry if you skip cream and use oil or coconut milk.

How to Make This Indian Tofu Curry (Step by Step)

  1. Drain the tofu and wrap it in a clean kitchen towel. Place a light weight on top for 10 to 15 minutes if you have time. This helps the cubes stay firm and less watery in the gravy.
  2. Cut the tofu into cubes. Pat dry with a towel.
  3. Heat 1 tablespoon oil in a wide pan or kadai over medium heat. Optional: add tofu cubes in a single layer and sear for 2 to 3 minutes per side until lightly golden. Remove to a plate.
  4. In the same pan, add 1 to 2 tablespoons oil if needed. Add chopped onion and cook until soft and lightly golden, about 8 to 10 minutes.
  5. Add ginger-garlic paste and cook until the raw smell fades, about 1 minute.
  6. Add tomato puree or chopped tomatoes. Cook until the oil begins to separate at the edges and the mixture looks thick, about 8 to 12 minutes.
  7. Add turmeric, coriander powder, red chili powder, and salt. Stir for 30 seconds.
  8. Add water to loosen the gravy, starting with 1/2 cup. Simmer for 5 to 7 minutes until the sauce looks cohesive.
  9. Add tofu cubes back into the gravy. Simmer gently for 5 to 8 minutes so the tofu warms through and absorbs flavor.
  10. Stir in garam masala. If using cream or coconut milk, add it now and simmer gently for 1 to 2 minutes.
  11. Taste and adjust salt and spice. Garnish with cilantro.

My test note from the kitchen: the first time I rushed the tomato step, the gravy tasted sharp and thin. I added a splash more water and a longer simmer, then finished with a tiny pinch of sugar and a pinch of salt. The sauce tasted rounder and clung to the tofu better.

Tips for the Best Tofu Curry Recipe Texture

  • Press when you can: Even 10 minutes under a towel helps the tofu sear and hold shape.
  • Pat dry before searing: Surface moisture is the enemy of golden edges.
  • Simmer, do not boil hard: A gentle simmer keeps tofu from turning rubbery.

What to Serve With Tofu Curry

This curry is a main-course plate builder, so think about rice, bread, and something cooling.

Editorial overhead tofu curry recipe bowl as focal point on dark stone with linen
Tofu curry in a weeknight thali moment: bowl, spices, linen
Tofu curry recipe in a bowl with tomato-onion gravy, cilantro, and basmati rice on wood

Tofu Curry Recipe (Easy Indian Tomato Gravy)

Firm tofu in a North Indian-style tomato-onion gravy with everyday spices. Optional sear for chew, optional cream or coconut for richness. Great with rice, roti, or dal on the side.
No ratings yet
Prep Time 20 minutes
Cook Time 35 minutes
Total Time 55 minutes
Course Dinner, Lunch
Cuisine Indian
Servings 4 servings
Calories

Ingredients
  

For the curry

  • 14 to 16 oz firm or extra-firm tofu drained
  • 2 to 3 tablespoons neutral oil or as needed
  • 1 large onion finely chopped
  • 1 tablespoon ginger-garlic paste or 1 teaspoon each minced ginger and garlic
  • 2 medium tomatoes or 3/4 cup canned tomato puree; pureed or finely chopped
  • 1 green chili optional; slit
  • 1/2 teaspoon turmeric powder
  • 1 teaspoon coriander powder
  • 1/2 to 1 teaspoon red chili powder Kashmiri works well for color
  • 1/2 teaspoon garam masala plus more to finish
  • Salt, to taste
  • 1/2 to 1 cup water as needed
  • Fresh cilantro leaves, for garnish

Optional richness

  • 2 tablespoons heavy cream or full-fat coconut milk optional

Instructions
 

Prep the tofu

  • Drain the tofu and wrap it in a clean kitchen towel. Place a light weight on top for 10 to 15 minutes if you have time.
  • Cut the tofu into cubes. Pat dry with a towel.

Build the gravy

  • Heat 1 tablespoon oil in a wide pan or kadai over medium heat. Optional: add tofu cubes in a single layer and sear 2 to 3 minutes per side until lightly golden; remove to a plate.
  • In the same pan, add 1 to 2 tablespoons oil if needed. Add onion and cook until soft and lightly golden, 8 to 10 minutes.
  • Add ginger-garlic paste and cook until the raw smell fades, about 1 minute.
  • Add tomato puree or chopped tomatoes. Cook until oil begins to separate at the edges and the mixture looks thick, 8 to 12 minutes.
  • Add turmeric, coriander powder, red chili powder, and salt. Stir 30 seconds.
  • Add water to loosen the gravy, starting with 1/2 cup. Simmer 5 to 7 minutes until the sauce looks cohesive.

Finish

  • Return tofu to the gravy. Simmer gently 5 to 8 minutes until heated through and flavorful.
  • Stir in garam masala. If using cream or coconut milk, add now and simmer gently 1 to 2 minutes.
  • Taste and adjust salt and spice. Garnish with cilantro.

Notes

Tomato depth: If the gravy tastes sharp, simmer longer, or add a tiny pinch of sugar and balance with salt.
Watery gravy: Simmer until oil shows at the edges; a spoon of tomato paste helps if you keep it on hand.
Vegan: Skip cream; use coconut milk or finish with a longer onion simmer for body.
Paneer swap: Substitute paneer cubes; you may skip or shorten pressing.
Storage: Refrigerate in an airtight container up to 3 days. Reheat gently with a splash of water.
Freezing: Gravy freezes better than tofu; tofu texture can change after freezing—add fresh tofu when reheating if meal prepping.
Tried this recipe?Let us know how it was!

Common Mistakes and How to Fix Them

1) Gravy is watery
Cause: Too much water or undercooked tomatoes.
Fix: Simmer longer until the oil shows at the edges. Add a spoon of tomato paste if you have it.

2) Tofu tastes bland
Cause: Not enough salt or simmer time.
Fix: Salt in layers, taste the gravy before adding tofu, and finish with garam masala.

3) Tofu falls apart
Cause: Soft tofu or rough stirring.
Fix: Use firm tofu, stir gently, and reduce boil time.

4) Gravy tastes too acidic
Cause: Tomatoes without enough cooking.
Fix: Simmer longer, or add a tiny pinch of sugar and balance with salt.

FAQs

Q1. Can I make this vegan?

Yes. Skip cream and use coconut milk, or finish without dairy and rely on a longer simmer for body.

Q2. Can I make this ahead of time?

Yes. The flavors deepen overnight. Store in an airtight container in the refrigerator for up to 3 days.

Q3. Can I freeze tofu curry?

You can freeze the gravy, but tofu texture can change after freezing. If you meal prep, freeze without tofu and add fresh tofu when reheating.

Q4. Can I substitute paneer for tofu?

Yes. Paneer will behave similarly in the gravy. You may need less pressing time.

Q5. Is this gluten free?

Yes, as written. If you add packaged spice blends, check labels for hidden gluten sources.

Q6. How do I store leftovers?

Store in an airtight container in the refrigerator for up to 3 days. Reheat gently in a pan with a splash of water.

Q7. How do I keep tofu from falling apart in curry?

Use firm or extra-firm tofu, press or pat it dry, and simmer gently instead of boiling hard. Stir with a soft spatula so the cubes stay intact.

Q8. Is tofu curry healthy?

It can be part of a balanced vegetarian plate: you get protein from tofu, fiber and vitamins from onion and tomato, and you control oil and salt. Skip cream or use coconut milk if you want a lighter vegan tofu curry.

Closing

I keep this tofu curry recipe in rotation because it is honest weeknight food. It uses pantry spices, respects the tofu, and still feels like a proper Indian-style dinner on the table.

If you try it, tell me in the comments: do you prefer your tofu pan-seared first, or simmered soft in the gravy?

Made this? Share a photo and tag @petitepaprika on Instagram. I love seeing your kitchen creations!

Pinterest pin for easy tofu curry recipe, dark panel with bullets and bowl of curry

Don’t miss the recipes!

Get free weekly meal planner when you subscribe

We don’t spam! Read our privacy policy for more info.

Leave a Reply

WordPress Appliance - Powered by TurnKey Linux