Recipes Diets we supportDiets Start your planStart plan

Yogurt-Marinated Tofu Curry

Cubes of firm tofu marinated in spiced Greek yogurt and roasted until golden, then simmered in a fragrant tomato and coconut milk sauce with onion, garlic, ginger, and warm spices, served over white rice with fresh cilantro.

By Camille McLaughlin, RDN, LD, registered dietitian nutritionist

Built forVegetarianDinner
Also fits Balanced Gut-Health High-Protein Anti-Inflammatory High-Fiber
Tofu marinated in spiced yogurt roasts until the outside goes chewy and golden, which is what keeps it from turning soggy later. Crushed tomatoes and coconut milk simmer with onion, garlic, ginger, cumin, and turmeric into a sauce worth spooning over white rice, and cilantro goes on green at the end.
↓ Jump to Recipe

Why You'll Love This Recipe

This is a weeknight curry for anyone who wants a hearty, meatless main that still eats like a real meal. Roasting the tofu first gives it a firm, browned exterior and a tender center, so it holds its shape in the sauce instead of turning to mush. It is a good choice for cooks who think tofu is bland, because the yogurt marinade and warm spices season it all the way through before it ever meets the sauce.

The tofu gets a two-step treatment, and that is what carries it. Coating it in Greek yogurt, turmeric, and paprika does double duty: the yogurt clings to the cubes and helps the edges char and crisp in a hot oven, while the spices bake right onto the surface. Then the sauce gets its own layered flavor from cooking the onion, garlic, and ginger before the crushed tomatoes and coconut milk go in, and from stirring the rest of the yogurt off the boil so it melts into a tangy, creamy finish without breaking.

Tang, richness, and warmth all turn up in one and the same spoonful. The tofu and yogurt bring plenty of protein, the tomatoes and coconut milk build a rounded sauce that clings to the rice, and the fiber from the vegetables and grains helps the meal feel filling. It lands somewhere between comforting and bright, with the cilantro adding a fresh note against the deeper spices.

Charred yogurt-marinated tofu cubes in a glossy golden-red curry sauce with cilantro over fluffy basmati-style rice. Save
Prep: 20 minsCook: 30 minsTotal: 50 minsMakes: 4 servingsServing: 1 bowl, about 2 cups

Ingredients

Serves4Amounts change with the number. The nutrition panel is per serving, so it stays the same.
  • 1 block firm tofu, cubed
  • 3/4 cup Greek yogurt
  • 1 1/2 cups crushed tomatoes
  • 1/2 cup canned coconut milk
  • 1 medium onion, chopped
  • 4 cloves garlic, minced
  • 1 tbsp grated ginger
  • 1 1/2 tsp cumin
  • 3/4 tsp turmeric
  • 1 tsp paprika
  • 1 tbsp olive oil
  • 3 cups cooked white rice
  • 1/4 cup cilantro
  • 3/4 tsp salt

Instructions

  1. Cook the rice: Rinse the white rice under cold water until the water runs clear. Add it to a pot with water, bring to a boil, then cover and simmer over low heat until the grains are tender and the water is absorbed, about 15 minutes. Fluff with a fork and set aside.
  2. Marinate the tofu: Drain the firm tofu and press it gently between paper towels or a clean kitchen towel to remove excess water, then cut it into even cubes. Toss the cubes with half of the Greek yogurt, the turmeric, the paprika, and part of the salt until evenly coated. Let it sit for 15 minutes while you prep the rest.
  3. Roast the tofu: Preheat the oven to 425°F (220°C). Spread the marinated tofu in a single layer on a parchment-lined baking sheet. Roast until the edges are charred and the pieces are firm, about 18 minutes, turning them once halfway through so they brown on multiple sides.
  4. Build the sauce: While the tofu roasts, chop the onion, mince the garlic, and grate the ginger. Heat the olive oil in a wide skillet over medium heat and cook the onion, garlic, and ginger until softened and fragrant, about 5 minutes. Stir in the cumin, then add the crushed tomatoes and coconut milk. Simmer gently until slightly thickened, about 10 minutes.
  5. Finish the curry: Lower the heat so the sauce is no longer at a hard boil, then stir in the remaining Greek yogurt a spoonful at a time so it blends in smoothly without curdling. Fold in the roasted tofu and the remaining salt, and warm everything through for a minute or two.
  6. Serve: Chop the cilantro. Spoon the curry over the cooked rice and garnish with the fresh cilantro just before serving.
Nutrition Facts
4 servings per recipe
Serving size1 bowl, about 2 cups
Calories474
% Daily Value*
Total Fat 18g23%
Saturated Fat 8g38%
Trans Fat 0g
Cholesterol 2mg1%
Sodium 589mg26%
Total Carbohydrate 56g20%
Dietary Fiber 6g20%
Total Sugars 8g
Includes 0g Added Sugars 0%
Protein 25g
Vitamin D 0.0mcg0%
Calcium 406mg31%
Iron 5.2mg29%
Potassium 745mg16%
* Percent Daily Values are based on a 2,000 calorie diet. Values are computed from USDA FoodData Central and are estimates. Per serving (1 bowl, about 2 cups).

Variations

  • Add chickpeas: Drain and rinse canned chickpeas and simmer them in the sauce along with the tofu for extra fiber and a heartier bowl.
  • Fold in greens: Stir handfuls of fresh spinach into the sauce at the end and cook just until wilted for more vegetables and color.
  • Swap in paneer: Trade the tofu for cubed paneer, marinated and roasted the same way, for a chewier bite; this adds dairy.
  • Serve with warm bread: Offer soft flatbread alongside the rice for scooping up the sauce; using naan or another wheat bread adds gluten.
  • Turn up the heat: Add a minced fresh green chili with the onion, or a pinch of cayenne with the cumin, for a curry with more kick.

Storage & Leftovers

Store leftover curry in an airtight container in the refrigerator, where it keeps well for up to four days. Keep the rice in a separate container so it does not soak up the sauce and go soft.

Reheat gently in a saucepan over low to medium heat, adding a splash of water to loosen the sauce as it warms, since it thickens in the fridge. Stir often and warm just until heated through; avoid a hard boil so the yogurt in the sauce stays smooth. In the microwave, go slowly and keep the power low so the yogurt does not split.

To get ahead, you can marinate and roast the tofu and cook the sauce a day in advance, then store them separately. When you are ready to eat, combine and warm them together, stir in the yogurt at the end, and cook fresh rice.

Notes & Tips

A few notes from my kitchen to help this curry come out tangy, golden, and well seasoned every time.
  • Press the tofu well: The drier the tofu before it hits the marinade, the better the edges char in the oven. Wrap it in a towel and set a light weight on top while you cook the rice.
  • Choose the right tofu: Firm or extra-firm tofu holds its cubes through roasting and simmering; soft or silken tofu will fall apart in the sauce, so save that for another use.
  • Keep the yogurt from curdling: Always pull the sauce off a hard boil before stirring in the finishing yogurt, and add it gradually. High heat is what makes yogurt separate into grainy curds.
  • Adjust the richness: For a lighter sauce, lean on the crushed tomatoes; for a rounder, mellower one, you can use a little more coconut milk. Taste and add salt at the end since the tomatoes vary in acidity.
  • Bloom the spices: Give the cumin a few seconds in the hot oil with the onion mixture before the liquids go in. That brief toasting deepens its aroma and warmth.
  • Double the batch: The sauce and roasted tofu both scale and reheat well, so making extra gives you a fast lunch the next day. Cook the rice fresh when you serve it for the best texture.

Nutrition & Mindful Eating

Tofu sits in spiced yogurt before it ever meets the oven, so it comes out browned and tangy at the corners, then goes into a tomato and coconut sauce built on cumin, turmeric, and ginger.
  • The marinade, the roast and the sauce each do something different. The yogurt seasons and softens the tofu, the oven firms and browns it, and the coconut and tomato sauce catches all of that when the cubes go back in.
  • Firm tofu is a blank, faintly beany thing until you press it and let it sit in something acidic, and then it takes flavor all the way through. Roasted, it turns chewy at the corners, and it carries complete plant protein into the bowl.
  • Greek yogurt is thick enough to cling to every cube rather than run off, so the spices stay where you put them, and its gentle acidity works on the surface of the tofu and leaves its own tang in the finished dish.
  • Turmeric and paprika go into the yogurt on the tofu while cumin hits the hot oil with the onion, garlic and ginger, so they bloom and turn the whole pan deep gold. That smell, warm and slightly peppery from the ginger, is the point of the dish.
  • Coconut milk turns the tomato round and mellow, taking the sharp edge off the acid and carrying the color and flavor of the turmeric through the sauce. Spooned over rice, a bowl of this holds you well into the evening.
  • As you eat, find the browned corners of the tofu where the marinade caught, notice how the coconut softens the spice on the way down, and let the bowl cool a little rather than racing it.

Frequently Asked Questions

Can I use a different tofu or drain it a special way?

Use firm or extra-firm tofu so the cubes survive roasting and simmering. Press it well before marinating; the drier it starts, the more the yogurt coating chars and crisps in the oven.

Why does my sauce look grainy after adding the yogurt?

That is the yogurt curdling from too much heat. Lower the temperature so the sauce is no longer boiling, then stir the yogurt in gradually. Keeping the pan off a hard boil keeps it smooth and creamy.

Can I make this milder or spicier?

As written it is warmly spiced rather than hot. For more heat, add a minced fresh green chili with the onion or a pinch of cayenne with the cumin. For a milder bowl, lean on a little extra coconut milk to round out the sauce.

What can I serve it over besides white rice?

The curry works over any cooked grain or even cauliflower rice, and soft flatbread on the side is great for scooping up the sauce. Cook whatever base you choose fresh for the best texture.