Firm tofu is 17 grams of protein per 100 grams per USDA FDC #172475 — close to paneer’s 18.86g and about a third of a serving of soy chunks. That number only applies if the block in your hand is labelled firm. Silken or soft tofu carries roughly 5 to 8 grams per 100g because it is mostly water. The eight-gram gap is the most common mistake readers make when they quote tofu protein online, and it is why the first section of this page spends real words on the firm-vs-silken split. At April 2026 Bengaluru kirana prices, firm tofu lands at ₹2.06 per gram of protein — essentially tied with paneer on cost, with about one-third the saturated fat.
Firm vs silken: the 17g vs 8g split
This is the single most important thing to get right about tofu. Not every block on the shelf carries the same protein. The label word — firm, extra-firm, soft, silken, silky — is doing all the work.
| Type | Protein per 100g | Approx. water content | Best use |
|---|---|---|---|
| Firm / extra-firm tofu | ~17g | ~69% | Stir-fry, grill, bhurji, curry |
| Silken / soft tofu | ~5-8g | ~88% | Smoothies, soups, desserts |
The chemistry is the same bean milk — the block differs only in how much water was pressed out during coagulation. Firm tofu sheds water and concentrates protein. Silken tofu keeps water in a set custard, so per-gram protein roughly halves. USDA FDC #174292 lists silken tofu at 6.3g per 100g; Indian-market soft tofu can land a little above that at 7-8g, but nothing silken ever approaches 17g.
Rule of thumb for the rest of this article: when we say “tofu,” we mean firm. When an Indian home-cooking recipe says tofu, it almost always means firm. If the block in your fridge is labelled soft or silken, cut your protein math in half.
The numbers, per realistic serving
| Metric | Value | Source |
|---|---|---|
| Protein per 100g (firm) | 17.0g | USDA FDC #172475 |
| Fat per 100g | ~8g (majority unsaturated) | USDA FDC #172475 |
| Saturated fat per 100g | ~1.3g | USDA FDC #172475 |
| Calcium per 100g (calcium-sulfate set) | ~350mg | USDA FDC #172475 |
| Calories per 100g | ~144 kcal | USDA FDC #172475 |
| Protein per 100g serving | 17.0g | Derived |
| Cost per 100g serving | ₹35 | ₹350/kg Bengaluru kirana, April 2026 |
| ₹ per gram of protein | ₹2.06 | Derived, protein-per-rupee table |
Two points about the realistic serving. First, 100g is the honest side-dish portion — the entire small pack of supermarket tofu usually weighs in the 200-300g range, and a one-person bhurji, curry, or grilled serving typically takes 100g. Second, that 100g delivers 17g of protein at about 144 kcal, which is why firm tofu shows up in post-workout meal plans and calorie-aware weekly rotations — density without the fat-calorie tax of paneer. The post-workout Indian meals guide uses firm tofu in exactly that slot.
Price per gram of protein
Using the standard corpus formula:
₹ per gram of protein = (₹ per kg of food) ÷ (g protein per kg of food)
g protein per kg = (g protein per 100g) × 10
- Firm tofu: ₹350 ÷ (17.0 × 10) = ₹2.06 per gram of protein
- Paneer: ₹400 ÷ (18.86 × 10) = ₹2.12 per gram of protein
- Soy chunks (dry): ₹250 ÷ (52 × 10) = ₹0.48 per gram of protein
Firm tofu and paneer are a near-tie — ₹0.06 apart per gram. The real cost story is the soy family itself: tofu and soy chunks are both made from soybeans, and soy chunks come out roughly four times cheaper per gram of protein than tofu. The difference is not nutrition — it’s water. Tofu is most of the block water by weight; soy chunks are defatted dry flour extruded into a sponge. For the wider cost ladder across Indian protein foods, the protein-per-rupee comparison table carries the full ranking.
If cost is your primary lever and texture flexibility isn’t, the soy chunks protein guide covers the cheaper cousin in depth. Tofu earns its premium over soy chunks on texture and format — a pressed firm tofu block behaves more like paneer than like TVP.
The coagulant-calcium story
Tofu’s calcium depends on which coagulant the manufacturer used, and the label does not always tell you. Three broad groups:
- Calcium sulfate (gypsum-set) firm tofu: ~350mg calcium per 100g. This is what USDA FDC #172475 measures and what most Indian supermarket firm tofu is.
- Nigari (magnesium chloride) set: ~130-160mg per 100g. More common in Japanese-style tofu.
- GDL-set / silken tofu: ~90-130mg per 100g, and with protein at 6.3g it isn’t a calcium anchor either.
For a realistic 100g firm-tofu portion with calcium-sulfate set, you’re looking at ~350mg of calcium — comparable to a 50g paneer cube on calcium density, and within ICMR-NIN RDA 2020 daily calcium context. Check the ingredient list if calcium is the reason you picked tofu. Do not buy silken if your goal was a calcium anchor. The paneer vs tofu comparison covers the coagulant question and the paneer-vs-tofu calcium trade in more detail — worth a read if you’re choosing between them.
Real meal math: four portions
Worked examples on what 100g of firm tofu actually looks like on a plate.
| Meal | Build | Protein |
|---|---|---|
| Tofu bhurji + 2 rotis | 100g firm tofu crumbled + onion-tomato masala + 60g atta (2 rotis) | ~23g |
| Tofu stir-fry + rice | 100g firm tofu cubed + mixed vegetables + 80g rice | ~23g |
| Matar tofu + 1 roti | 100g firm tofu + peas gravy + 30g atta (1 roti) | ~20g |
| Grilled tofu + curd side | 100g firm tofu grilled + 150g curd | ~21.5g |
Each of these is a direct substitute for a paneer meal at roughly one-third the saturated fat. A matar paneer plate the same size carries ~4.5g of saturated fat from the cheese; a matar tofu plate carries ~1.3g from the tofu. Composition, not a health claim — just math about what the block brings.
The workday-lunch rotation of tofu bhurji plus rotis is in protein-forward lunches for workdays; the weekly slot in a vegetarian rotation is covered by high-protein vegetarian meal plan.
Texture and preparation: the press is not optional
Firm tofu from a sealed pack holds a lot of water. Skip the press and the cubes fall apart in gravy, the stir-fry goes soggy, and the bhurji turns into a wet scramble. Fifteen to twenty minutes of pressing — block wrapped in a clean cloth with a 1-2 kg weight on top — is the difference between tofu that holds its shape in matar tofu and tofu that collapses. This is the friction point most first-time tofu cooks miss; it is also the only meaningful prep step.
For bhurji specifically, firm tofu crumbles cleanly with a fork after pressing and holds texture through the tadka. For stir-fry, cube and sauté in oil on high heat until the surface goes golden before adding sauce. For curry, press hard, cube, sauté briefly to firm the edges, then add to the simmering gravy only in the final 8-10 minutes.
Dabba physics
Firm tofu in gravy reheats better in a microwave than paneer in gravy. Paneer at two days old tends to rubberise; tofu holds a chewy-but-stable texture through a four-hour dabba window. Tofu bhurji reheats cleanly without a texture collapse; grilled tofu keeps a useful firmness even at room temperature on a commute. For the full heat-stability story on office-lunch proteins — which foods survive the microwave, which don’t — the office lunch protein solutions bridge has the table.
Isoflavones and the “soy and hormones” question
This comes up often enough to address briefly. Firm tofu contains soy isoflavones — plant compounds that bind weakly to estrogen receptors. They are not estrogen. Meta-analyses on dietary soy and circulating hormones in adult men (Messina 2010, 2016; Reed et al. 2021) find no meaningful effects at typical dietary intakes — that is, the 1-2 servings a day range most Indian households would ever eat. The pop-culture fear traces to case reports involving 12-20 servings daily, which is an order of magnitude above any reasonable dietary pattern.
For specific medical contexts — an existing thyroid condition, hormone-sensitive cancers, a doctor already managing something — your physician has the context this article cannot. The dietary soy point stands on the meta-analysis evidence; the medical point lives with your doctor. Not medical advice.
Where tofu wins, where it doesn’t
Honest scorecard, because the ₹2.06/g near-tie with paneer will carry too much weight otherwise.
Where tofu wins.
- Lower saturated fat per 100g portion (~1.3g vs paneer’s ~9-10g).
- Lower calories per 100g (~144 kcal vs paneer’s 258).
- Vegan and dairy-free — the closest format substitute for paneer the plant world has.
- Lactose-intolerant readers who still want the paneer-slot format.
- Dabba-friendly reheat behaviour, especially bhurji and grilled.
Where tofu doesn’t.
- Not the cheapest protein by a long shot — soy chunks in the same soy family are about 4× cheaper per gram of protein.
- Cultural embeddedness. Paneer is dinner-table default across most of North and West India; tofu still reads as “health food” in many households, which matters for mixed-generational meals.
- Traditional gravy formats that lean on a softening paneer cube (palak paneer, butter masala) don’t translate straight to tofu — the cube behaviour is different. For the full head-to-head, the paneer vs tofu comparison is the dedicated decision guide.
- Weeknight improvisation. The 15-20 minute press is a real prep step; paneer goes straight from pack to pan.
Where tofu fits on a weekly plate
For a household running a weekly vegetarian protein rotation, firm tofu earns one or two slots — a Wednesday bhurji lunch, a Saturday stir-fry dinner, or a post-workout grilled tofu plate. Beyond that frequency it starts crowding out dal, which is where most of the week’s protein and cost efficiency lives. The weekly architecture — dal twice, paneer or tofu as anchor once or twice, a soy-chunks night, carrier grains underneath — is exactly the pattern the high-protein Indian foods pillar walks through, and the convenient high-protein Indian meals bridge covers the honest homemade-vs-ready trade when the week runs tight.
Final takeaway
Firm tofu is 17g of protein per 100g at ₹2.06 per gram of protein — paneer-grade density at paneer-equivalent cost, with roughly one-third the saturated fat and zero lactose. Silken and soft tofu are a different food at 5-8g per 100g, and confusing the two is the most common mistake in tofu protein math. Buy firm, press the block for 15-20 minutes before it hits the pan, and tofu earns its slot in a week built around bhurji, stir-fry, curry, and grilled plates. For calcium count on calcium-sulfate-set firm blocks. For the ₹/g cost ladder, tofu and paneer tie and soy chunks beat both by a factor of four. The label word — firm — is the single most important thing on the package.



