Skip to content
Zaffaron

Soup-e Gusht va Sibzamini (سوپ گوشت و سیب‌زمینی) – Persian Meat and Potato Soup

A comforting Persian winter soup of tender beef, potatoes, and celery simmered until silky, then finished with a buttery flour roux and warm milk for a velvety, savory bowl of classic home cooking.

By Zaffaron Kitchen· Published March 13, 2026 Verified Recipe
Nut-Free Halal
Contains: dairy, gluten
110 min total Prep 25m · Cook 85m 6 servings 360 cal ~$2.35/serving
↓ Jump to Recipe
Soup - e Gusht va Sibzamini ( ‌) - Persian Meat and Potato Soup - authentic persian recipe

Printable Recipe Card

Servings: 6 · Total: 110 min · Difficulty: medium

Ingredients (quick list)

  • 450 g Beef chuck, boneless, cut into 2 cm cubes (Trim excess surface fat; uniform cubes cook evenly)
  • 200 g Yellow onion, finely diced (About 1 large onion)
  • 150 g Celery stalks, finely sliced (About 3 medium stalks; include tender leaves if available)
  • 500 g Potatoes, peeled and diced (1.5 cm) (Waxy or all-purpose potatoes hold shape yet puree smoothly)
  • 1200 ml Water (Add more during simmering if needed)
  • 10 g Fine sea salt (About 1 3/4 tsp; adjust to taste at the end)
  • 2 g Black pepper, freshly ground (About 1 tsp)
  • 45 g Unsalted butter (Divided; for sautéing and roux)
  • 30 g All-purpose flour (About 1/4 cup; for thickening)
  • 480 ml Whole milk (Warm before adding to prevent splitting)

Steps (summary)

  1. In a heavy pot over medium heat, melt 15 g butter. Add diced onion and sauté for 8 minutes until translucent and lightly golden…
  2. Add the beef cubes, 6 g of the salt, and all the black pepper. Increase heat to medium-high and stir for 6–8 minutes until the…
  3. Reduce heat to low, cover with the lid slightly ajar, and simmer gently for 55 minutes, stirring every 15 minutes. Keep the sur…
  4. Add the diced potatoes and simmer uncovered for 18–22 minutes, until the potatoes are very tender and the beef yields easily to…
  5. In a small saucepan over medium-low heat, melt the remaining 30 g butter. Add the flour and whisk continuously for 2–3 minutes…
  6. Pour the milk-roux into the soup in a thin stream while stirring constantly. Simmer on low for 8 minutes, stirring often, until…

Cultural Background

Soups like Soup-e Gusht va Sibzamini are classic Iranian cold-season comfort foods, often made at home for their nourishing warmth and gentle flavors. The technique of finishing with a butter-flour base reflects a Persian preference for smooth, cohesive textures served with fresh bread and herbs.

savorybutterymildly sweet from onionbalanced salt and peppervelvetycreamytender meatsoft potatoesbutterslow-simmered beefcelery freshnesstoasted flour🌶 low

Equipment

Heavy-bottomed pot with lid (5–6 L)Chef’s knife and cutting boardFine-mesh skimmer or spoonSmall saucepanWhiskMeasuring scale or cupsImmersion blender or countertop blender

💡 Tips

  • For the silkiest finish, warm the milk to 50–60°C before whisking it into the roux, and keep the soup at a gentle simmer after adding dairy.
  • If you prefer a thicker, chowder-like bowl, blend a larger portion (up to half) of the soup; for a brothier version, blend only 1 cup and add 100–200 ml hot water.
  • Cut potatoes evenly (about 1.5 cm) so they soften at the same time as the meat becomes tender.
  • Skimming the initial foam after boiling yields a cleaner flavor and a more elegant, pale soup—especially important for a milk-finished soup.

⚠️ Common Mistakes

  • ❌ Boiling the soup hard after adding milk

    💡 Why: High heat can cause the dairy to split and the texture to turn grainy.

    ✅ Fix: Keep the soup at a gentle simmer (low heat) and stir frequently; if it starts to split, whisk in 60 ml warm milk off-heat.

  • ❌ Adding milk directly to the pot without a roux

    💡 Why: Milk alone can thin out and may curdle more easily, giving less body and less stable creaminess.

    ✅ Fix: Make a pale blond roux with butter and flour, then whisk in warm milk before incorporating into the soup.

  • ❌ Undercooking the beef before adding potatoes

    💡 Why: Potatoes can turn mushy while the meat remains chewy if simmer times are not staged.

    ✅ Fix: Simmer the beef first until nearly tender (about 55 minutes), then add potatoes for the final 18–22 minutes.

  • ❌ Skipping the foam skim at the first boil

    💡 Why: Impurities can make the broth cloudy and the flavor slightly harsher, especially noticeable in a pale, milk-finished soup.

    ✅ Fix: Boil 5 minutes, skim thoroughly, then reduce to a gentle simmer.

🧊 How to Store

Cool completely, then refrigerate in an airtight container for up to 3 days. Reheat gently over low heat, stirring frequently; if it thickens, loosen with 60–120 ml water or milk. Freeze up to 2 months, but note dairy may slightly grain on thawing—reheat slowly and whisk to smooth.

📅 Make Ahead

Cook the soup base (through Step 4) up to 1 day ahead and refrigerate. Reheat gently, then prepare the roux and add it just before serving for the freshest, smoothest texture. If made fully ahead, reheat on low and whisk well; add 60–120 ml milk to restore creaminess.

🍽️ Pairs Well With

  • Sangak or Barbari bread
  • Fresh herbs (sabzi khordan: basil
  • mint
  • radish)
  • Torshi (Persian pickles) for contrast

Regional Variations

  • Tehran (home-style)Often kept very mild and creamy, with a larger portion blended for a thicker, velouté-like texture and served with plenty of bread.
  • Azerbaijan (Northwest Iran)Commonly made with lamb instead of beef and sometimes finished slightly thicker, emphasizing a hearty, warming bowl for colder climates.
winter dinners family meals Ramadan iftar (with halal meat) sick-day comfort food
#winter#comfort-food#family-style#stovetop#creamy-soup

Ingredients

  • 450 gBeef chuck, boneless, cut into 2 cm cubes (Trim excess surface fat; uniform cubes cook evenly)
  • 200 gYellow onion, finely diced (About 1 large onion)
  • 150 gCelery stalks, finely sliced (About 3 medium stalks; include tender leaves if available)
  • 500 gPotatoes, peeled and diced (1.5 cm) (Waxy or all-purpose potatoes hold shape yet puree smoothly)
  • 1200 mlWater (Add more during simmering if needed)
  • 10 gFine sea salt (About 1 3/4 tsp; adjust to taste at the end)
  • 2 gBlack pepper, freshly ground (About 1 tsp)
  • 45 gUnsalted butter (Divided; for sautéing and roux)
  • 30 gAll-purpose flour (About 1/4 cup; for thickening)
  • 480 mlWhole milk (Warm before adding to prevent splitting)

🔄 Substitutions

  • Beef chuck→ Lamb shoulder, 450 g
  • Whole milk→ 2% milk, 480 ml
  • All-purpose flour→ Rice flour, 28 g

Instructions

  1. 1

    In a heavy pot over medium heat, melt 15 g butter. Add diced onion and sauté for 8 minutes until translucent and lightly golden at the edges. Stir in sliced celery and cook 4 minutes more, scraping the bottom so the vegetables soften without browning too hard, which can darken the soup’s color.

  2. 2

    Add the beef cubes, 6 g of the salt, and all the black pepper. Increase heat to medium-high and stir for 6–8 minutes until the meat loses its raw color and a light fond forms. Pour in 1200 ml water, bring to a strong boil for 5 minutes, then skim any foam for a cleaner, smoother broth.

  3. 3

    Reduce heat to low, cover with the lid slightly ajar, and simmer gently for 55 minutes, stirring every 15 minutes. Keep the surface at a quiet bubble; rapid boiling can toughen the meat and make the broth cloudy. If the liquid drops below the meat, add 100–200 ml hot water.

  4. 4

    Add the diced potatoes and simmer uncovered for 18–22 minutes, until the potatoes are very tender and the beef yields easily to a spoon. Taste the broth and add the remaining 4 g salt if needed. Turn heat to the lowest setting while you prepare the roux so nothing overcooks.

  5. 5

    In a small saucepan over medium-low heat, melt the remaining 30 g butter. Add the flour and whisk continuously for 2–3 minutes until the mixture smells nutty and turns pale blond (do not let it brown). Slowly whisk in 480 ml warm milk in 3 additions, whisking 4–5 minutes until smooth and lightly thickened.

  6. 6

    Pour the milk-roux into the soup in a thin stream while stirring constantly. Simmer on low for 8 minutes, stirring often, until the soup becomes velvety and lightly coats the back of a spoon. For a classic Persian texture, blend 2 cups of soup until smooth, then stir it back in and reheat 2 minutes.

🪪 Recipe Passport

Origin: Persian Cuisine
Researched by: Zaffaron Kitchen
Published: March 13, 2026

Cultural Background

Soups like Soup-e Gusht va Sibzamini are classic Iranian cold-season comfort foods, often made at home for their nourishing warmth and gentle flavors. The technique of finishing with a butter-flour base reflects a Persian preference for smooth, cohesive textures served with fresh bread and herbs.

Regional Variations

Tehran (home-style): Often kept very mild and creamy, with a larger portion blended for a thicker, velouté-like texture and served with plenty of bread.
Azerbaijan (Northwest Iran): Commonly made with lamb instead of beef and sometimes finished slightly thicker, emphasizing a hearty, warming bowl for colder climates.

Researched from multiple sources and validated by the Zaffaron editorial team. Every recipe is tested for accuracy, measurements, and cultural authenticity.

Share:

Nutrition per serving

360
Calories
22g
Protein
18g
Fat
29g
Carbs
3g
Fiber
720mg
Sodium

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

Reviews

—
Rated 0.0 out of 5 stars
0 reviews

Cooked this recipe?

Tap the stars to rate it — that's all it takes. A few words are welcome but optional.

Please sign in to rate this recipe.
Rated 0.0 out of 5 stars

No ratings yet. Cooked this one? Be the first to rate it — it takes one tap.