Vegan lentil meatballs with tomato sauce
Baked vegan meatballs made with brown lentils, mushrooms, oats and walnuts, with tomato sauce, clear binding steps and US and Canadian cost estimates.
Saved recipes stay in this browser. View saved recipes →

These vegan lentil meatballs bake on a sheet pan and get their tomato sauce at the table. Brown lentils, finely ground oats and chopped walnuts form a mixture with a soft center and browned edges. The recipe makes 24 meatballs: six per serving, with sauce. Add pasta, bread or vegetables separately to suit your meal.
Give the mixture something to hold onto
Start with dry brown lentils and cook them until tender throughout. Drain thoroughly before mixing. The dry weight determines the nutrition and cost estimate; the cooked weight changes with water absorption. Use the whole cooked batch rather than swapping in the same weight of canned lentils.
The Mushroom Council’s oat-and-walnut method provides a useful egg-free starting point. This recipe specifies its own quantities, oil allocation and serving size. Cooking the chopped mushrooms until their released water evaporates helps keep the mixture manageable. Scrape the skillet well so the measured ingredients reach the bowl.
Grind the oats before adding the moist ingredients. Pulse most of the lentils into a sticky mixture, leaving a smaller portion whole for texture. Rest before shaping. Press each portion firmly; loose spoonfuls are more likely to crumble when lifted.
Bake first and sauce at the table
Keep the balls similar in size so their centers cook at a similar pace. A browned surface can appear before a wet center has set, so check both. Larger portions need a different bake time. Use a spatula after the short standing period rather than trying to turn the hot meatballs with a fork.
The tomato sauce is cooked separately and included in the displayed estimates. Spoon it over when serving. Leaving these soft lentil meatballs bubbling in sauce can loosen their structure. Pasta and bread are serving options with their own cost and nutrition; neither is included automatically.
Understand what the walnuts contribute
Walnuts add fat, texture and some protein alongside the lentils and oats. NIH’s omega-3 fact sheet lists walnuts among plant sources of omega-3 fats. The plant form, ALA, is essential, but the body converts only small amounts to EPA and DHA. Our plant-based omega-3 guide explains food and supplement sources of these different fats.
Compare walnut pieces by package weight, since they will be chopped anyway. The modest amount here is spread across four portions. Check the recipe’s protein estimate against your own meal needs rather than assuming every vegan meatball meets a high-protein target.
Pack the sauce separately
Portion the baked meatballs and sauce into separate shallow containers and refrigerate promptly. Health Canada recommends eating refrigerated leftovers within two to three days and reheating to 74°C / 165°F. Follow the card’s thermometer and sauce instructions. Our food-budget guide has more on planning portions you will use.
Vegan lentil meatballs with tomato sauce
Baked vegan meatballs made with brown lentils, mushrooms, oats and walnuts, with tomato sauce, clear binding steps and US and Canadian cost estimates.
- Prep
- 25 min
- Cook
- 65 min
- Additional time
- 25 min
- Total
- 115 min
- Makes
- 4 servings
One original serving: 6 of the 24 meatballs plus one-quarter of the tomato sauce; pasta, 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.
Review the addition before changing your list.
Equipment: Conventional oven, 46 × 33 cm / 18 × 13 inch rimmed baking sheet and oven-safe parchment, Saucepan, sieve and large skillet, Food processor, mixing bowl and spatula, Kitchen scale, measuring spoons, knife and cutting board, Thin-tip digital food thermometer for reheating
Equipment
Conventional oven, 46 × 33 cm / 18 × 13 inch rimmed baking sheet and oven-safe parchment, Saucepan, sieve and large skillet, Food processor, mixing bowl and spatula, Kitchen scale, measuring spoons, knife and cutting board, Thin-tip digital food thermometer for reheating
Ingredients
Instructions
Storage & reheating
Refrigerate meatballs and sauce separately in shallow containers within 2 hours (1 hour above 32°C / 90°F). Keep at 4°C / 40°F or below and use within 3 days. Reheat only the needed portion. Microwave meatballs in a covered, vented microwave-safe dish, turning midway and allowing standing time; verify 74°C / 165°F in their centers. Reheat sauce separately to a rolling boil, stirring, then serve together.
Substitutions
- Use plain rolled oats, not steel-cut oats or prepared oatmeal; weigh flakes before grinding.
- Red split lentils, canned lentils and hydrated soy mince need different moisture and binding adjustments; they are not direct replacements here.
- This formulation includes walnuts; choose a different recipe if you need a nut-free option.
Cooking notes
- Timing allows vegetable preparation during lentil cooking and sauce preparation during baking. Older lentils or wet centers can need longer. The original batch makes 24 meatballs, four portions.
- Serving controls scale ingredients and cost. Fixed amounts and instructions describe the original batch; use extra sheets and allow more oven time for larger batches. Keep ball size unchanged.
- Estimates include all required ingredients and measured oil, using dry lentil and oat weights; most cooking water is discarded. Half a cup of chopped walnuts is approximately 60 g. Pasta, bread, garnish and sides are excluded.
Contains: tree-nuts. Check the labels of your ingredients.
Estimated nutrition per serving
- Calories
- 472 kcal
- Protein
- 19.9 g
- Carbohydrates
- 65.5 g
- Fat
- 16.1 g
- Saturated fat
- 2.1 g
- Fiber
- 14.7 g
- Sugars
- 7.9 g
- Sodium
- 479 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.
- dry brown lentils, sorted and rinsed: Bob's Red Mill Brown Lentils, UPC 0003997811425, Ralphs retailer Nutrition Facts per 50 g quarter-cup. All eight tracked numeric amounts were observed and match the prior same-product record. Several retailer Daily Value percentages conflict with the printed amounts; only numeric amounts are used. Values normalized to 100 g; sodium mg, other nutrients g except kcal. Label rounding and retailer figures are estimates. Accessed 2026-10-28.
- water for cooking lentils; reserve a little before draining: 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, measured as dry flakes before grinding: 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.
- shelled walnuts, chopped: USDA SR Legacy: Nuts, walnuts, english. 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:170187;NDB:12155. USDA SR Legacy dataset download (ZIP).
- raw white mushrooms, cleaned and finely chopped: USDA SR Legacy April 2018 CSV: Mushrooms, white, 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:169251;NDB:11260. USDA SR Legacy dataset download (ZIP).
- onion, finely diced: 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; divided between meatballs and sauce: 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).
- olive oil, divided: 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.
- plain tomato paste: 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).
- canned diced tomatoes with all their juice, mashed for sauce: Kroger plain diced tomatoes including tomato juice per 121 g half-cup: 25 kcal, 1 g protein, 5 g carbohydrate, 0 g fat, 0 g saturated fat, 1 g fibre, 4 g sugars, 210 mg sodium. Ingredients include tomatoes, tomato juice, salt, citric acid and calcium chloride. Recipe weights include the juices. Accessed 2026-10-28.
- dried oregano, divided: USDA SR Legacy: Spices, oregano, 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:171328;NDB:2027. USDA SR Legacy dataset download (ZIP).
- fine salt, divided: Hain Sea Salt retailer panel per 1.5 g quarter-teaspoon: 590 mg sodium; calories, protein, carbohydrate, fat, saturated fat, fibre and sugars explicitly 0. Measure fine salt by mass; teaspoon weight varies with crystal size. 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 | USD | CAD |
|---|---|---|
| dry brown lentils, sorted and rinsed | $0.85 | $0.54 |
| water for cooking lentils; reserve a little before draining | $0.00 | $0.00 |
| plain rolled oats, measured as dry flakes before grinding | $0.34 | $0.39 |
| shelled walnuts, chopped | $1.32 | $1.49 |
| raw white mushrooms, cleaned and finely chopped | $2.02 | $2.94 |
| onion, finely diced | $0.35 | $0.31 |
| garlic, minced; divided between meatballs and sauce | $0.22 | $0.11 |
| olive oil, divided | $0.23 | $0.21 |
| plain tomato paste | $0.17 | $0.25 |
| canned diced tomatoes with all their juice, mashed for sauce | $0.93 | $0.99 |
| dried oregano, divided | $0.09 | $0.14 |
| fine salt, divided | $0.00 | $0.00 |
| ground black pepper | $0.03 | $0.02 |
| Recipe total | $6.55 | $7.39 |
| Per serving | $1.64 | $1.85 |
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
- dry brown lentils, sorted and rinsed: Walmart US, US online listing; store not stated in captured result; $1.92 / 453.59237g. Price source (observed 2026-10-28).
- plain rolled oats, measured as dry flakes before grinding: Walmart US, US online listing; store not stated in captured result; $4.18 / 1190.67997125g. Price source (observed 2026-10-28).
- shelled walnuts, chopped: Walmart US, Sacramento, California 95829 page context; $9.96 / 453.59237g. Price source (observed 2026-10-28). Avoirdupois ounces converted using 28.349523125 g per ounce. Plain shelled walnuts; sole listed ingredient walnuts. May-contain milk and egg warnings are cross-contact, not listed ingredients.
- raw white mushrooms, cleaned and finely chopped: Walmart US, US online listing; store not independently selected; $2.04 / 226.796g. Price source (observed 2026-10-27). 8 oz = 226.796 g; washed mushrooms including edible stems, no assumed discard.
- onion, finely diced: 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; divided between meatballs and sauce: Walmart US, Sacramento Gerber Rd Supercenter, California page context; $3.07 / 170.09713875g. Price source (observed 2026-10-28).
- olive oil, divided: 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.
- plain tomato paste: 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.
- canned diced tomatoes with all their juice, mashed for sauce: Walmart US, Atlanta, Georgia; 30301 page context; $0.96 / 411.06808531g. Price source (observed 2026-10-28).
- dried oregano, divided: Walmart US, United States online listing; retailer default context, checkout not verified; $1.08 / 24.664085118750002g. Price source (observed 2026-10-28). Avoirdupois ounces converted using 28.349523125 g per oz. Single dried herb pricing reference.
- fine salt, divided: Walmart US, Sacramento Gerber Rd Supercenter, California page context; $0.94 / 737g. Price source (observed 2026-10-28).
- 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
- dry brown lentils, sorted and rinsed: Walmart Canada, Canada online listing; store not independently selected; $4.87 / 1800g. Price source (observed 2026-10-28).
- plain rolled oats, measured as dry flakes before grinding: Walmart Canada, Canada online listing; store not stated in captured result; $3.97 / 1000g. Price source (observed 2026-10-28).
- shelled walnuts, chopped: Walmart Canada, Canada online listing; retailer default context, checkout not verified; $7.47 / 300g. Price source (observed 2026-10-28). Plain shelled walnut pricing reference; selected 300 g package rather than 100 g chopped or 908 g family bag.
- raw white mushrooms, cleaned and finely chopped: Walmart Canada, Mississauga Heartland, Ontario L5V 2N6 (retailer default listing); $2.97 / 227g. Price source (observed 2026-10-27). Organic whole-white-mushroom price reference. Edible stems retained; price is a listing snapshot and availability may vary.
- onion, finely diced: 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; divided between meatballs and sauce: Walmart Canada, Mississauga Heartland, Ontario; L5V 2N6 page context; $3.97 / 453.59237g. Price source (observed 2026-10-28).
- olive oil, divided: 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.
- plain tomato paste: 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.
- canned diced tomatoes with all their juice, mashed for sauce: Walmart Canada, Mississauga Heartland, Ontario; L5V 2N6 page context; $1.97 / 796g. Price source (observed 2026-10-28). Package mass is estimated at 1 g/mL for this liquid food, with all juices included; the retailer label supplies volume, not measured grams.
- dried oregano, divided: Walmart Canada, Mississauga Heartland, Ontario; L5V 2N6 page context; $2.27 / 32g. Price source (observed 2026-10-28). Package size explicitly appears in indexed primary retailer specifications and image alternative text; direct page also lists CAD 7.09/100 g. Ingredient is dried oregano leaves.
- fine salt, divided: Walmart Canada, Mississauga Heartland, Ontario; L5V 2N6 page context; $1.63 / 1000g. Price source (observed 2026-10-28).
- ground black pepper: Walmart Canada, Canada online listing; store not independently selected; $2.27 / 85g. Price source (observed 2026-10-28).


