Vegan TVP meatloaf with tomato glaze

A make-ahead vegan meatloaf with soy granules, grated potato and oats. Bake, chill, slice and reheat, with a tomato glaze and US and Canadian costs.

Jump to recipe ↓
Two slices and a block of tomato-glazed soy, potato and oat loaf on a navy platter over pale cork with ivory linen

This vegan TVP meatloaf is made ahead: bake it, chill it, then slice and reheat the portions you need. Soy granules supply texture, while grated potato and oats help the mixture hold together. A tomato-mustard glaze adds a lightly sweet top. The original loaf makes eight slices, with two slices and their glaze per serving.

Weigh the soy before adding water

TVP is a dry ingredient. Water makes it heavier without adding protein, so weigh the granules before hydration. A cup of one brand may weigh differently from another. The recipe’s estimates use the dry grams listed in the card, with the hydration water accounted for separately.

Bob’s Red Mill gives a short boiling-water soak for its granules. Stir so dry pockets get wet, and use small plain granules rather than larger soy chunks. Our TVP curry with brown rice is another way to use the rest of a packet.

Keep the potato moisture and the loaf shallow

The potato goes in raw and finely grated, with its moisture retained. Drying it in a towel would change the mixture. Mince the onion finely too; large pieces make neat slices harder to cut.

Bryanna Clark Grogan’s original TVP loaf uses potato and oats and emphasizes cooling before slicing. This recipe sets its own weights, seasonings and glaze. Pack the mixture firmly into the stated pan and keep it shallow. A smaller, deeper tin changes how the center heats. Browning on top is only one check: the potato must be tender and the center fully heated.

Check protein by portion

Canada’s food guide encourages choosing protein foods from plants every day and lists soy products among the options. The protein number here describes one-quarter of the entire recipe, including the glaze. Cutting the loaf into more slices does not create more protein; share those slices according to the defined portion.

Soy sauce and prepared mustard also contribute sodium. Compare labels when shopping and check the finished recipe’s estimate rather than assuming that plant-based means low-sodium. Our plant-based protein guide explains portions and daily needs beyond a single dish.

Bake for later and cool promptly

Cooling serves two purposes here: firmer slices and safe storage. After the short stand, divide the loaf into blocks so it can chill in shallow containers. Health Canada recommends prompt refrigeration and two to three days for refrigerated leftovers. That window starts with the initial bake, including the chilling period.

Reheat only the slices you plan to eat, following the thermometer check in the card. Pack any vegetables, bread or other accompaniments separately and include their costs in your meal budget.

The recipe

Vegan TVP meatloaf with tomato glaze

A make-ahead vegan meatloaf with soy granules, grated potato and oats. Bake, chill, slice and reheat, with a tomato glaze and US and Canadian costs.

Prep
25 min
Cook
85 min
Additional time
270 min
Total
380 min
Makes
4 servings

One original serving: 2 of 8 equal slices, including tomato glaze; vegetables, bread and other sides are separate

Household amounts use US cups and spoons and are approximate. Metric uses grams and millilitres; small spoon amounts may stay in teaspoons or tablespoons with scaled gram references. About ingredient measures.

Add to shopping list 4 servings

Review the addition before changing your list.

Equipment

Conventional oven, Light-colored metal 23 × 13 cm / 9 × 5 inch loaf pan, about 7 cm / 2¾ inches deep, Oven-safe parchment, foil and pastry brush, Kitchen scale, measuring spoons and heatproof mixing bowl, Box grater, knife and cutting board, Wide spatula, shallow refrigerator-safe containers and an oven-safe reheating dish, Digital food thermometer

Ingredients

Instructions

Storage & reheating

Refrigerate promptly after the short standing period, within 2 hours of baking (1 hour above 32°C / 90°F). Keep at 4°C / 40°F or below and use within 3 days of the initial bake, including chilling time. Cover once cold. Reheat only the slices needed and check 74°C / 165°F in their centers; discard any reheated slices left uneaten. Do not reset the storage clock after reheating.

Substitutions

  • Use plain soy granules sold as TVP. Soy curls, chunks, refrigerated mince and cooked beans have different hydration and binding behavior.
  • Use raw finely grated potato with its skin and moisture. Mashed potato and dried potato flakes are different ingredients.
  • This formulation contains soy, wheat from the soy sauce and mustard. Ingredient changes alter its estimates and may affect how it holds together.

Cooking notes

  • The 6 hour 20 minute planning estimate includes hydration, a short stand, about 4 hours of chilling and reheating. Refrigerator performance, loaf depth and potato cut affect the actual time.
  • The original four servings use one 9 × 5 inch pan. For eight servings, use two pans, keeping the mixture no deeper than 5 cm; allow extra oven time as needed. Smaller batches in the same pan are thinner and may bake sooner.
  • Serving controls scale ingredients and costs. The fixed quantities, eight-slice yield, temperatures and timings in the steps describe the original four servings. Keep each serving at one-quarter of the batch.
  • Estimates use dry TVP and oats, raw edible potato/onion/garlic and all measured oil and glaze. Cup weights are approximate; weigh TVP before adding water. Potato is 225 g after removing any damaged parts.

Contains: soy, wheat, mustard. Check the labels of your ingredients.

Estimated nutrition per serving

Calories
338 kcal
Protein
27.2 g
Carbohydrates
49.6 g
Fat
3.8 g
Saturated fat
0.8 g
Fiber
13.1 g
Sugars
11.1 g
Sodium
488 mg

For one original serving, excluding optional ingredients and suggested sides. How we estimate nutrition.

Ingredient nutrition sources

Estimates use the required ingredient weights above and these food references. Brands, water content, and label rounding can change the result.

  • plain dry soy TVP granules, weighed before hydration: Bob’s Red Mill dry granular TVP, manufacturer-linked back-package panel per 25 g: 90 kcal, 13 g protein, 9 g carbohydrate, 0 g fat, 0 g saturated fat, 5 g fibre, 2 g sugars and 5 mg sodium. Normalized to 100 g from the printed values, including label-rounded zeros. Current product-page text instead lists a 23 g portion, 80 kcal and 0 mg sodium; panel dates and the version shipped are unestablished. This identifies the estimate’s reference, not the nutrition panel of every retail pack. Accessed 2026-10-29.
  • water, divided between hydration and glaze: Aquafina purified water retailer panel explicitly lists all eight tracked nutrients as 0 per 500 mL. Zero quantities remain 0 independently of volume-to-mass scaling. This purified-water reference is not a measurement of every municipal supply. Water cost is excluded as a utility; no bottled-water price is used. Accessed 2026-10-28.
  • plain rolled oats, dry flakes: Bob's Red Mill Old Fashioned Regular Rolled Oats, dry; label values per 49 g, normalized to 100 g; sodium in mg, other nutrients in g except kcal energy. Label rounding retained as estimates. Accessed 2026-10-28.
  • raw potato with skin, scrubbed, finely grated; retain its moisture: USDA SR Legacy April 2018 CSV: Potatoes, flesh and skin, raw. Nutrient values from food_nutrient.csv joined through nutrient.csv; kcal energy, grams nutrient masses, and mg sodium per 100 g edible portion. Accessed 2026-10-28. Food record: FDC:170026;NDB:11352. USDA SR Legacy dataset download (ZIP).
  • onion, very finely minced: USDA SR Legacy: Onions, raw. All eight tracked fields were read directly from official food_nutrient.csv per 100 g edible food; sodium mg, other nutrients g except energy kcal. Generic food estimates vary by variety and preparation. Accessed 2026-10-28. Food record: FDC:170000;NDB:11282. USDA SR Legacy dataset download (ZIP).
  • garlic, minced: USDA SR Legacy: Garlic, raw. All eight tracked fields were read directly from official food_nutrient.csv per 100 g edible food; sodium mg, other nutrients g except energy kcal. Generic food estimates vary by variety and preparation. Accessed 2026-10-28. Food record: FDC:169230;NDB:11215. USDA SR Legacy dataset download (ZIP).
  • nutritional yeast flakes: Bob's Red Mill Nutritional Yeast, fortified dry flakes; use printed sodium amount 15 mg rather than inconsistent website DV; label values per 8 g, normalized to 100 g; sodium in mg, other nutrients in g except kcal energy. Label rounding retained as estimates. Accessed 2026-10-28.
  • soy sauce: USDA SR Legacy: Soy sauce made from soy and wheat (shoyu). All eight tracked fields were read directly from official food_nutrient.csv per 100 g edible food; sodium mg, other nutrients g except energy kcal. Generic food estimates vary by variety and preparation. Accessed 2026-10-28. Food record: FDC:174277;NDB:16123. USDA SR Legacy dataset download (ZIP).
  • plain no-salt-added tomato paste, divided between loaf and glaze: USDA SR Legacy: Tomato products, canned, paste, without salt added (Includes foods for USDA's Food Distribution Program). All eight tracked fields were read directly from official food_nutrient.csv per 100 g edible food; sodium mg, other nutrients g except energy kcal. Generic food estimates vary by variety and preparation. Accessed 2026-10-28. Food record: FDC:170459;NDB:11546. USDA SR Legacy dataset download (ZIP).
  • olive oil, divided between pan and loaf: Flora Organic Extra Virgin Olive Oil retailer reference explicitly states 14 g of oil per serving. Panel: 120 kcal, 14 g fat, 2 g saturated fat; protein, carbohydrate, fibre, sugars and sodium explicitly 0. Values normalized to 100 g; label rounding retained. Accessed 2026-10-28.
  • pure maple syrup, for the glaze: USDA SR Legacy: Syrups, maple. All eight tracked fields were read directly from official food_nutrient.csv per 100 g edible food; sodium mg, other nutrients g except energy kcal. Generic food estimates vary by variety and preparation. Accessed 2026-10-28. Food record: FDC:169661;NDB:19353. USDA SR Legacy dataset download (ZIP).
  • prepared yellow mustard, for the glaze: USDA SR Legacy: Mustard, prepared, yellow. All eight tracked fields were read directly from official food_nutrient.csv per 100 g edible food; sodium mg, other nutrients g except energy kcal. Generic food estimates vary by variety and preparation. Accessed 2026-10-28. Food record: FDC:172234;NDB:2046. USDA SR Legacy dataset download (ZIP).
  • dried thyme: USDA SR Legacy: Spices, thyme, dried. All eight tracked fields were read directly from official food_nutrient.csv per 100 g edible food; sodium mg, other nutrients g except energy kcal. Generic food estimates vary by variety and preparation. Accessed 2026-10-28. Food record: FDC:170938;NDB:2042. USDA SR Legacy dataset download (ZIP).
  • smoked paprika: Spice Islands Smoked Paprika retailer Nutrition Facts reference per 2.3 g teaspoon; all eight tracked values observed. Plain smoked paprika, not a seasoning containing oil or salt. Values normalized to 100 g; sodium in mg, other nutrients in g except kcal energy. Retailer figures and label rounding are estimates. Accessed 2026-10-28.
  • ground black pepper: USDA SR Legacy: Spices, pepper, black. All eight tracked fields were read directly from official food_nutrient.csv per 100 g edible food; sodium mg, other nutrients g except energy kcal. Generic food estimates vary by variety and preparation. Accessed 2026-10-28. Food record: FDC:170931;NDB:2030. USDA SR Legacy dataset download (ZIP).

Ingredient cost breakdown

Estimated cost of the amount used; optional extras are separate.

Ingredient costs · US · USD
IngredientUSDCAD
plain dry soy TVP granules, weighed before hydration$2.14$3.30
water, divided between hydration and glaze$0.00$0.00
plain rolled oats, dry flakes$0.26$0.29
raw potato with skin, scrubbed, finely grated; retain its moisture$0.46$0.48
onion, very finely minced$0.25$0.22
garlic, minced$0.11$0.05
nutritional yeast flakes$0.58$1.13
soy sauce$0.12$0.34
plain no-salt-added tomato paste, divided between loaf and glaze$0.52$0.74
olive oil, divided between pan and loaf$0.11$0.11
pure maple syrup, for the glaze$0.32$0.34
prepared yellow mustard, for the glaze$0.01$0.02
dried thyme$0.10$0.05
smoked paprika$0.08$0.11
ground black pepper$0.03$0.02
Recipe total$5.08$7.20
Per serving$1.27$1.80

Price reference: 2026-10-27. Price reference: 2026-10-27. Regional prices vary. Pantry ingredients included; taxes, delivery, and utilities excluded.

Price sources & package sizes

United States · USD

  • plain dry soy TVP granules, weighed before hydration: Vitacost, United States online listing; no physical store selected; $4.84 / 340g. Price source (observed 2026-10-29). Reference snapshot; no live checkout price, local-store availability or future-price guarantee. Ignore site fields Shipping Weight 0.75 lb and Total servings 340 g as mass/serving evidence. Product net mass comes from the explicit title. Tax, delivery and membership costs excluded. No foreign exchange. No promotion expiry shown; Sale template text does not establish a monetary discount because both displayed prices and compare_at_price equal 4.84. The nutrition reference is a separately identified US manufacturer 25 g image panel. These dry-product price snapshots do not prove the panel or lot received in either market.
  • plain rolled oats, dry flakes: Walmart US, US online listing; store not stated in captured result; $4.18 / 1190.67997125g. Price source (observed 2026-10-28).
  • raw potato with skin, scrubbed, finely grated; retain its moisture: Walmart US, US online listing; store not independently selected; $3.76 / 1837.0476g. Price source (observed 2026-10-27). 5 lb = 2267.96 g purchased; USDA 81% raw pared potato yield used as a common costing proxy. Skin-on recipes may retain more. No cooking-loss adjustment.
  • onion, very finely minced: Walmart US, Phoenix E Thomas Rd Supercenter, Arizona page context; $2.76 / 1197.4838568g. Price source (observed 2026-10-28). Edible package mass uses USDA Food Buying Guide yield: 1 lb purchased mature whole onions yields 0.88 lb raw ready-to-cook onion; actual trimming loss varies.
  • garlic, minced: Walmart US, Sacramento Gerber Rd Supercenter, California page context; $3.07 / 170.09713875g. Price source (observed 2026-10-28).
  • nutritional yeast flakes: Walmart US, United States online listing; retailer default context, checkout not verified; $5.17 / 141.747615625g. Price source (observed 2026-10-28). Avoirdupois ounces converted using 28.349523125 g per oz. Product described by retailer as suitable for vegetarians and vegans.
  • soy sauce: Walmart US, Atlanta Gresham Rd S E Supercenter, Georgia page context; $1.73 / 473.6g. Price source (observed 2026-10-28). Regular naturally brewed soy-and-wheat sauce pricing reference, not a reduced-sodium or flavoured sauce. Retailer declares wheat and soy. Generic shoyu nutrition is sourced separately; this cost observation does not certify every brand formulation. Labelled bottle volume is preserved. Package grams are estimated at 16 g per 15 mL (density 1.0666666667 g/mL), using USDA FDC 174277 portion row 94068 (1 tbsp =16 g) with the explicitly assumed metric tablespoon volume 15 mL. This is an approximate costing model, not a measured product-specific density. Actual metric net statement 444 mL is used in preference to converting rounded15 fl oz.
  • plain no-salt-added tomato paste, divided between loaf and glaze: Walmart US, United States online listing; retailer default context, checkout not verified; $0.92 / 170.09713875g. Price source (observed 2026-10-28). Avoirdupois ounces converted using 28.349523125 g per ounce. Retailer direct product ingredient reference lists tomato pulp and citric acid; no animal ingredients. Category snapshot gives USD 0.92; an older direct product snapshot gives USD 0.86. The more recent category reference is retained without claiming a live checkout quote.
  • olive oil, divided between pan and loaf: Walmart US, US online listing; store not stated in captured result; $5.94 / 469.23333572g. Price source (observed 2026-10-28). Package mass is estimated from the olive-oil label reference of 14 g per 15 mL (0.933333 g/mL); retailer package quantity is volume, not measured mass. US fluid ounces converted at 29.5735295625 mL per fl oz.
  • pure maple syrup, for the glaze: Walmart US, US online listing; store not independently selected; $7.98 / 492.89215937g. Price source (observed 2026-10-28). US fluid ounces converted at 29.5735295625 mL per fl oz. USDA maple-syrup portion is 20 g per tablespoon; FDA nutrition-label tablespoon is 15 mL, giving an estimated 1.333333 g/mL. This is a generic density estimate, not a measured package mass.
  • prepared yellow mustard, for the glaze: Walmart US, US online listing; store not independently selected; $1.00 / 566.9904625g. Price source (observed 2026-10-28). Net avoirdupois ounces converted at exactly 28.349523125 g per ounce.
  • dried thyme: Walmart US, United States online listing; retailer default context, checkout not verified; $2.12 / 21.26214234375g. Price source (observed 2026-10-28). Avoirdupois ounces converted using 28.349523125 g per oz. Single dried herb pricing reference.
  • smoked paprika: Walmart US, Atlanta Gresham Rd S E Supercenter, Georgia page context; $2.14 / 56.69904625g. Price source (observed 2026-10-28). Avoirdupois ounces converted using 28.349523125 g per ounce. Smoked dried paprika powder, not a meat-flavoured seasoning blend.
  • ground black pepper: Walmart US, US online listing; store not independently selected; $3.58 / 85.04856937g. Price source (observed 2026-10-28). Net avoirdupois ounces converted at exactly 28.349523125 g per ounce.

Canada · CAD

  • plain dry soy TVP granules, weighed before hydration: Vegan Supply, Canada online listing; no physical store selected; $7.49 / 340g. Price source (observed 2026-10-29). Same brand and plainly described dry defatted-soy-flour product, but different regional UPC; not proof of identical Canadian panel or same manufacturing lot. Only a price reference. Keep the independently identified US nutrition basis separate. Reference snapshot; no live checkout price, physical-store availability or future-price guarantee. Tax, delivery and membership costs excluded. No foreign exchange. No promotion expiry shown; crossed-out CAD 0.00 is a template/compare-at artifact and is not a paid or regular price. The nutrition reference is a separately identified US manufacturer 25 g image panel. These dry-product price snapshots do not prove the panel or lot received in either market.
  • plain rolled oats, dry flakes: Walmart Canada, Canada online listing; store not stated in captured result; $3.97 / 1000g. Price source (observed 2026-10-28).
  • raw potato with skin, scrubbed, finely grated; retain its moisture: Walmart Canada, Canada online listing; retailer default context, checkout not verified; $3.94 / 1837.0476g. Price source (observed 2026-10-27). 5 lb = 2267.96 g purchased; USDA 81% raw pared potato yield used as a common costing proxy. Skin-on recipes may retain more. No cooking-loss adjustment.
  • onion, very finely minced: Walmart Canada, Canada online listing; store not stated in captured result; $2.44 / 1197.4838568g. Price source (observed 2026-10-28). Edible package mass uses USDA Food Buying Guide yield: 1 lb purchased mature whole onions yields 0.88 lb raw ready-to-cook onion; actual trimming loss varies.
  • garlic, minced: Walmart Canada, Mississauga Heartland, Ontario; L5V 2N6 page context; $3.97 / 453.59237g. Price source (observed 2026-10-28).
  • nutritional yeast flakes: Metro Canada, Canada online listing; retailer default context, checkout not verified; $9.99 / 142g. Price source (observed 2026-10-28). Retailer ingredient list: inactive nutritional yeast (dried yeast, vitamin B12). No currency conversion.
  • soy sauce: Walmart Canada, Canada online listing; retailer default context, checkout not verified; $6.77 / 630.4g. Price source (observed 2026-10-28). Regular naturally brewed soy-and-wheat sauce pricing reference, not a reduced-sodium or flavoured sauce. No animal ingredients listed in the regional product ingredient references. Labelled bottle volume is preserved. Package grams are estimated at 16 g per 15 mL (density 1.0666666667 g/mL), using USDA FDC 174277 portion row 94068 (1 tbsp =16 g) with the explicitly assumed metric tablespoon volume 15 mL. This is an approximate costing model, not a measured product-specific density. Price is from Walmart Canada. Metro ingredient reference lists water, soybeans, wheat, salt, brewing starter. Metro sale price 6.49 expired September 30, 2026 and is not used.
  • plain no-salt-added tomato paste, divided between loaf and glaze: Metro Canada, Canada online listing; retailer default context, checkout not verified; $1.29 / 166.4g. Price source (observed 2026-10-28). Plain no-salt-added tomato paste. Retailer ingredients tomatoes, citric acid; no animal ingredients. Retail package is labelled by volume. Edible grams are estimated as 156 mL *16 g / 15 mL = 166.4 g. USDA FDC 170459 portion row 86698 gives1 tbsp=16 g; 15 mL is an explicit metric-tablespoon assumption, not a measured product-specific density.
  • olive oil, divided between pan and loaf: Walmart Canada, Mississauga Heartland, Ontario; L5V 2N6 page context; $10.97 / 933.33333333g. Price source (observed 2026-10-28). Package mass is estimated from the olive-oil label reference of 14 g per 15 mL (0.933333 g/mL); retailer package quantity is volume, not measured mass.
  • pure maple syrup, for the glaze: Walmart Canada, Canada online listing; store not independently selected; $8.48 / 500g. Price source (observed 2026-10-28). USDA maple-syrup portion is 20 g per tablespoon; FDA nutrition-label tablespoon is 15 mL, giving an estimated 1.333333 g/mL. This is a generic density estimate, not a measured package mass.
  • prepared yellow mustard, for the glaze: Walmart Canada, Canada online listing; store not independently selected; $1.47 / 400g. Price source (observed 2026-10-28). USDA yellow-mustard portion is 5 g per teaspoon; FDA nutrition-label teaspoon is 5 mL, giving an estimated 1 g/mL. This is a generic density estimate, not a measured retailer package mass.
  • dried thyme: Walmart Canada, Heartland, Mississauga, Ontario; L5V 2N6 page context; $2.27 / 50g. Price source (observed 2026-10-28). Ingredient is dried thyme leaves.
  • smoked paprika: Walmart Canada, Mississauga Heartland, Ontario; L5V 2N6 page context; $6.27 / 116g. Price source (observed 2026-10-28). Retailer ingredients: smoked paprika, silicon dioxide, ethoxyquin. This is smoked dried pepper seasoning; no animal ingredient listed.
  • ground black pepper: Walmart Canada, Canada online listing; store not independently selected; $2.27 / 85g. Price source (observed 2026-10-28).

Read our cost methodology.