This Delightful Creamy Indian Tofu Curry is a quick and satisfying weeknight meal, packed with fragrant Indian spices and a lusciously rich coconut milk sauce. It’s a wonderfully comforting dish that’s both nourishing and incredibly flavorful, perfect for anyone looking for a delicious plant-based option.
Imagine a vibrant bowl filled with tender tofu bathed in a velvety, spiced sauce, promising a delightful culinary journey with every bite.
Recipe Details
- Flavor Profile: Rich, savory, aromatic, with a gentle warmth from the spices and a subtle sweetness from the coconut milk.
- Textures: Creamy sauce, tender tofu, and pops of freshness from spinach.
- Total Active Time: 25 minutes
- Difficulty Level: Easy, perfect for beginner cooks.
What You’ll Need
To bring this delightful Indian tofu curry to life, you’ll primarily focus on building a flavorful base with aromatic spices, a creamy sauce made from coconut milk, and tender cubes of tofu. You’ll also incorporate fresh spinach for a touch of color and added nutrients.
Ingredient Notes
- Firm or Extra-Firm Tofu – This type of tofu holds its shape well during cooking, making it ideal for curries. It will absorb the flavors of the sauce beautifully.
- Coconut Milk – Full-fat canned coconut milk is essential for achieving that signature creamy, rich texture. Be sure to shake the can well before opening or use the thick cream from the top.
- Diced Tomatoes – These provide a slight tang and help create the base of the curry sauce. Canned diced tomatoes are perfectly convenient.
- Ginger and Garlic – Freshly minced ginger and garlic are fundamental for building authentic Indian flavors; they add a pungent warmth to the dish.
- Spinach – Fresh spinach wilts down beautifully into the sauce, adding a lovely green hue and a boost of nutrients without overpowering the other flavors.
- Spices (Curry Powder, Cumin, Coriander, Turmeric, Garam Masala) – This blend of spices is key to the characteristic flavor of Indian cuisine. Each contributes its own unique aroma and taste.
Add-ins and Substitutions
- Vegetables – Feel free to add other quick-cooking vegetables like peas, bell peppers (thinly sliced), or green beans along with the spinach.
- Spice Level – For a spicier curry, add 1/4 to 1/2 teaspoon of cayenne pepper or a finely minced green chili with the ginger and garlic.
- Fresh Herbs – A sprinkle of fresh cilantro just before serving adds a burst of refreshing flavor.

How to Make Delightful Creamy Indian Tofu Curry
This recipe comes together in a flash, making it perfect for busy evenings. It starts with sautéing aromatics, then building the creamy sauce, and finally, gently simmering the tofu in the flavorful liquid.
- Prepare the Tofu: Press the tofu to remove excess water. Cut it into 3/4-inch cubes.
- Sauté Aromatics: Heat 1 tablespoon of oil in a large skillet or pot over medium heat. Add the minced garlic and ginger and cook for about 30 seconds until fragrant.
- Bloom the Spices: Add the curry powder, cumin, coriander, and turmeric to the skillet. Stir constantly for another 30 seconds until the spices are fragrant. This step really awakens their flavors.
- Build the Sauce: Pour in the canned diced tomatoes (undrained), full-fat coconut milk, and vegetable broth. Stir everything together to combine.
- Simmer the Tofu: Add the cubed tofu to the sauce. Bring the curry to a gentle simmer, then reduce the heat to low, cover, and cook for 15 minutes, allowing the flavors to meld and the tofu to heat through.
- Wilt the Spinach: Stir in the fresh spinach. Continue to cook, uncovered, for another 2–3 minutes, or until the spinach has wilted into the sauce.
- Finish and Season: Stir in the garam masala. Taste the curry and season with salt and pepper as needed.
- Pro Tip: Don’t skip blooming the spices in hot oil for a minute or two; it unlocks their full aromatic potential and is crucial for a flavorful curry base.
Recipe Tips
- Press Your Tofu: Taking a few minutes to press the tofu removes excess water, allowing it to absorb more flavor from the sauce and achieve a better texture.
- Don’t Boil Vigorously: Once the curry is simmering, keep the heat low. Boiling too hard can cause the coconut milk to separate, affecting the creamy texture.
- Taste and Adjust: Always taste your curry before serving. This is your chance to fine-tune the seasoning, adding more salt, pepper, or even a pinch more spice if desired.
- Add Spinach Last: Adding the spinach at the very end ensures it retains its vibrant color and slightly tender-crisp texture, rather than becoming overly mushy.
FAQs
- Can I use low-fat coconut milk? While you can, low-fat coconut milk will result in a less creamy and rich sauce. Full-fat is highly recommended for the best texture and flavor.
- How do I store leftovers? Leftovers can be stored in an airtight container in the refrigerator for up to 3 days. Reheat gently on the stovetop or in the microwave.
- Can I substitute the tofu? Yes, you could substitute paneer or even chickpeas for a different texture and flavor profile. Adjust cooking time as needed.
Serving Suggestions
This delightful Indian tofu curry is absolutely wonderful served over fluffy basmati rice or warm naan bread. It also pairs beautifully with a side of cooling cucumber raita or a simple green salad for a complete and refreshing meal.
Make This Recipe in Advance
You can prepare the sauce base, including sautéing the aromatics and spices and adding the diced tomatoes and coconut milk, a day in advance. Store it in an airtight container in the refrigerator. When ready to serve, gently reheat the sauce, add the tofu and spinach, and cook as directed. The fresh spinach is best added just before serving.
Print
Delightful Creamy Indian Tofu Curry
- Total Time: 25 minutes
Description
This Delightful Creamy Indian Tofu Curry is a quick and satisfying weeknight meal, packed with fragrant Indian spices and a lusciously rich coconut milk sauce. It’s a wonderfully comforting dish that’s both nourishing and incredibly flavorful, perfect for anyone looking for a delicious plant-based option.
Ingredients
2 (12 to 14 oz / 340 to 400g) blocks extra firm tofu, drained
Diamond Crystal kosher salt (see Note 1)
Marinade
½ cup (70g) raw cashews
3 tablespoons (42g) neutral-flavored oil, plus more for cooking tofu
1 large yellow onion, diced (~ 2 cups / 300g diced onion)
5 cloves garlic, chopped
1 ½” piece (~ 15g) fresh ginger, peeled and finely chopped
¼ cup (60g) creamy, thick coconut yogurt (see Note 2)
Freshly cracked black pepper
2 tablespoons (16g) cornstarch
1 teaspoon ground turmeric
2 to 3 teaspoons Kashmiri chili powder (mild Indian red chili powder, see Note 3)
Whole Spices (see Note 4 for ground spice substitutes)
1 cinnamon stick
2 Indian bay leaves (AKA tej patta) or regular bay leaves
3 whole cloves
6 green cardamom pods, seeds only (¼ to ½ tsp of seeds)
1 tablespoon coriander seeds
1 teaspoon cumin seeds
For Finishing
1 cup (240 mL) soy milk (or creamy plant milk of choice)
1 tablespoon dried fenugreek leaves AKA kasoori methi (see Note 5)
1 big handful cilantro leaves and tender stems
Flatbread / pita or white rice to serve
Instructions
1. Tear the tofu into rough 1.5-inch pieces and place them in a large bowl. Dissolve 2 tablespoons of kosher salt in 4 cups of boiling water, pour it over the tofu, and let it soak for 10 minutes. Drain the tofu and spread it out on a clean dish towel to dry.
2. Place the cashews in a small bowl and cover them with boiling water. Let them soak for at least 15 minutes, then drain.
3. If using whole spices, toast the cinnamon stick, bay leaves, cloves, cardamom seeds, and coriander seeds in a dry frying pan over medium heat for 2 minutes. Stir in the cumin seeds and toast for another 60 to 90 seconds until highly fragrant, then transfer to a bowl to cool.
4. Heat 3 tablespoons of oil in the same pan over medium heat. Saut the diced onions with a pinch of salt for 12 to 15 minutes until deeply browned, then stir in the garlic and ginger for another 90 seconds before removing from heat.
5. In a high-powered blender, combine 1/2 cup of water, the cooked onion mixture, drained cashews, coconut yogurt, 1.5 teaspoons of salt, black pepper, cornstarch, turmeric, chili powder, and the toasted whole spices broken into small pieces. Blend on high until completely smooth and thick.
6. Dry the tofu once more, then toss it gently with the blended marinade in a large bowl until well coated. Cover and refrigerate for at least 1 hour, or overnight.
7. Heat 2 teaspoons of oil in a large nonstick frying pan over medium heat. Fry half of the tofu undisturbed for 5 minutes until a golden crust forms, flip, and cook for another 4 minutes. Transfer to a plate and repeat with the remaining tofu.
8. Return all the cooked tofu to the pan and pour in the soy milk, a pinch of salt, black pepper, and the crushed dried fenugreek leaves. Simmer for 3 to 4 minutes until the sauce is thick and creamy, then remove from heat, garnish with fresh cilantro, and serve warm with flatbread or rice.
Notes
Pressing your tofu is a crucial step that removes excess water, allowing it to better absorb the flavors of the marinade and achieve a more satisfying texture.
Do not boil the curry vigorously. Once simmering, maintain a low heat. Over-boiling can cause the coconut milk to separate, negatively impacting the creamy consistency you desire.
Always taste and adjust the seasoning of your curry before serving. This is your opportunity to fine-tune the balance of salt, pepper, and spices to your preference.
Adding the spinach towards the end of the cooking process helps it retain its vibrant green color and a pleasant, slightly tender-crisp texture, preventing it from becoming overcooked and mushy.
- Prep Time: 25 minutes
- Category: Curry
- Cuisine: Indian


