Soybean Koofteh (کوفته سویا) — Light Soy & Vegetable Medley
A modern Persian take on koofteh, swapping meat for protein-rich soybeans and garden vegetables. The dumplings simmer gently in a saffron-tomato broth, echoing classic home flavors with a lighter, plant-forward feel.

Printable Recipe Card
Servings: 4 · Total: 80 min · Difficulty: medium
Ingredients (quick list)
- 220 g dried soybeans (soaked 12 hours, drained well)
- 180 ml whole milk (warm)
- 180 g potato (peeled, boiled, mashed)
- 120 g carrot (finely grated)
- 150 g zucchini (finely grated, squeezed dry)
- 160 g mushrooms (very finely chopped)
- 140 g onion (grated, squeezed dry)
- 10 g garlic (finely grated)
- 60 g egg white (from about 2 large eggs)
- 45 g whole wheat flour (plus 10 g if needed for shaping)
- 1.5 tsp ground turmeric
- 1 tsp ground cumin
+ 9 more in the full ingredients section below.
Steps (summary)
- Soak the soybeans in plenty of cold water for 12 hours, then drain and rinse thoroughly. Simmer them in fresh water for 35–45 m…
- While the soybeans cook, sauté the chopped mushrooms in 15 ml olive oil over medium-high heat for 7–9 minutes until their moist…
- Grate the onion and zucchini, then squeeze each firmly in a clean towel until noticeably drier. Measure the squeezed vegetables…
- In a food processor, pulse the cooked soybeans with warm milk 10–15 times until you get a coarse, sticky paste with small bits…
- Rest the mixture for 10 minutes so the flour hydrates and the proteins bind. If it still feels loose, knead in an additional 10…
- Make the broth by sautéing the sliced onion in 15 ml olive oil over medium heat for 10–12 minutes until golden. Add minced garl…
+ 3 more steps in the full instructions section below.
Cultural Background
Koofteh is a beloved Persian comfort food traditionally built around meat and herbs, simmered in a fragrant sauce for gatherings. This soy-and-vegetable version keeps the familiar saffron-tomato profile while reflecting modern, lighter home cooking.
Equipment
💡 Tips
- Squeeze the onion and zucchini until you remove at least 60 ml liquid total; drier vegetables make sturdier koofteh.
- Keep the broth at a gentle simmer (about 90–95°C); a rolling boil is the fastest way to crack soy-based dumplings.
- For a smoother, more classic koofteh texture, pulse the mixture longer, but stop before it becomes a uniform puree.
⚠️ Common Mistakes
❌ Koofteh fall apart in the pot.
✅ Fix: Squeeze grated onion and zucchini drier, rest the mixture 10 minutes, and keep the broth at a gentle simmer without stirring.
❌ Dumplings taste beany or flat.
✅ Fix: Cook soybeans until fully tender, sauté mushrooms until browned, and include the saffron and dried lime for lift.
❌ Broth tastes harshly tomato-forward.
✅ Fix: Caramelize tomato paste for 1 minute and simmer uncovered 5 minutes at the end to round and thicken the sauce.
🧊 How to Store
Cool leftovers within 2 hours, then refrigerate in the broth in an airtight container for up to 3 days. Reheat covered over low heat with 60 ml water, keeping a gentle simmer to prevent the koofteh from breaking.
📅 Make Ahead
Cook and drain the soybeans up to 2 days ahead and refrigerate. You can also shape the koofteh and chill them on a tray for up to 12 hours; bring to cool room temperature for 15 minutes before simmering.
🍽️ Pairs Well With
- Chelow
- brown basmati rice
- sabzi khordan
- torshi
- Shirazi salad.
Regional Variations
- Tabriz-style inspiration: add 0.5 tsp ground coriander and a pinch more cinnamon for a warmer spice profile.
- Herb-forward version: mix in 20 g chopped parsley and 10 g chopped dill, reducing zucchini by 30 g to keep the mixture firm.
- Stuffed koofteh: press in a 10 g piece of dried fruit (barberry or raisin) per dumpling for a sweet-tart surprise.
Ingredients
- 7¾ ozdried soybeans (soaked 12 hours, drained well)
- ¾ cupwhole milk (warm)
- 6⅓ ozpotato (peeled, boiled, mashed)
- 4¼ ozcarrot (finely grated)
- 5.3 ozzucchini (finely grated, squeezed dry)
- 5⅝ ozmushrooms (very finely chopped)
- 4.9 ozonion (grated, squeezed dry)
- 10 ggarlic (finely grated)
- 2⅛ ozegg white (from about 2 large eggs)
- 1⅝ ozwhole wheat flour (plus 10 g if needed for shaping)
- 1½ tspground turmeric
- 1 tspground cumin
- ½ tspblack pepper
- 2 tspfine sea salt
- 1 tbspolive oil (for sautéing mushrooms)
- 1.1 oztomato paste
- 10.5 ozcrushed tomatoes
- 3 cupwater
- ¼ tspground cinnamon (optional but traditional-leaning)
- 1 tspdried lime powder (or 15 ml fresh lemon juice)
- ¼ tspsaffron threads (bloomed in 30 ml hot water (taken from the 700 ml))
🔄 Substitutions
- whole milk→ unsweetened soy milk
- egg white→ ground flaxseed mixed with water (10 g flax + 45 ml water)
- whole wheat flour→ chickpea flour
Instructions
- 1
Soak the soybeans in plenty of cold water for 12 hours, then drain and rinse thoroughly. Simmer them in fresh water for 35–45 minutes until fully tender, then drain very well and cool for 10 minutes so the mixture won’t turn gummy.
- 2
While the soybeans cook, sauté the chopped mushrooms in 15 ml olive oil over medium-high heat for 7–9 minutes until their moisture evaporates and they begin to brown. Cool them completely; this prevents excess steam from loosening the koofteh later.
- 3
Grate the onion and zucchini, then squeeze each firmly in a clean towel until noticeably drier. Measure the squeezed vegetables after draining if possible, because extra water is the main reason soy-based koofteh crack in the pot.
- 4
In a food processor, pulse the cooked soybeans with warm milk 10–15 times until you get a coarse, sticky paste with small bits remaining. Transfer to a bowl and mix in mashed potato, grated carrot, squeezed zucchini, sautéed mushrooms, squeezed onion, garlic, egg whites, flour, turmeric, cumin, pepper, and 2 tsp salt until cohesive.
- 5
Rest the mixture for 10 minutes so the flour hydrates and the proteins bind. If it still feels loose, knead in an additional 10 g whole wheat flour, then wet your hands and form 8 koofteh (about 120–130 g each) with firm, smooth surfaces.
- 6
Make the broth by sautéing the sliced onion in 15 ml olive oil over medium heat for 10–12 minutes until golden. Add minced garlic and cook 30 seconds, then stir in tomato paste for 1 minute to caramelize lightly.
- 7
Add crushed tomatoes, water, turmeric, cinnamon, dried lime powder, 1 tsp salt, and pepper, then bring to a gentle boil. Stir in the bloomed saffron and reduce the heat to a steady simmer; the surface should bubble softly, not aggressively.
- 8
Slide the koofteh into the simmering broth one by one, spacing them so they don’t touch. Cover partially and simmer for 25–30 minutes, gently spooning broth over the tops twice; do not stir, because stirring can break the dumplings before they set.
- 9
Check doneness by lifting one koofteh carefully with a slotted spoon; it should feel firm and hold its shape. Simmer uncovered 5 more minutes to slightly thicken the sauce, then rest off heat for 10 minutes so the koofteh reabsorb flavor and slice cleanly.
🪪 Recipe Passport
Cultural Background
Koofteh is a beloved Persian comfort food traditionally built around meat and herbs, simmered in a fragrant sauce for gatherings. This soy-and-vegetable version keeps the familiar saffron-tomato profile while reflecting modern, lighter home cooking.
Regional Variations
Researched from multiple sources and validated by the Zaffaron editorial team. Every recipe is tested for accuracy, measurements, and cultural authenticity.
Nutrition per serving
Pairs well with
If you enjoyed this recipe, here are a few related Zaffaron recipes to try next.
Does your family make this differently?
Every family has their own version. Maybe your grandmother adds a secret ingredient, or your aunt has a completely different technique. Preserve your family's version — with their name on it, forever.
You Might Also Like

Chicken Stuffed Cabbage Rolls (دلمه کلم با مرغ) — Herb-Scented Persian Dolmeh in Tomato Saffron Sauce
Persian · Main Courses · 90 min

Baghali Polo (باقالی پلو) — Persian Dill and Fava Bean Rice with Saffron
Persian · Rice Dishes · 95 min

Pasta with Walnut Sauce (پاستا با سس گردو) — Creamy Persian Walnut-Yogurt Pasta
Persian · Main Courses · 35 min

Thai Green Curry (แกงเขียวหวาน) — Fragrant Coconut Chicken Curry
Thai · Stews · 60 min

Kimchi Jjigae (김치찌개) — Korean Kimchi Stew
Korean · Stews · 60 min

Smoky Eggplant Salad (Patlıcan Salatası) — Turkish charred eggplant with garlic and olive oil
Turkish · Salads · 40 min

Cacık (Yoğurtlu Salatalık Mezesi) — Chilled Turkish Yogurt, Cucumber & Mint Dip
Turkish · Appetizers · 15 min

Fukumame (福豆) — Roasted Soybeans for Setsubun
Japanese · Side Dishes · 85 min
Reviews
Cooked this recipe?
Tap the stars to rate it — that's all it takes. A few words are welcome but optional.
No ratings yet. Cooked this one? Be the first to rate it — it takes one tap.