Skip to content
Zaffaron

Soup-e Esfenaj (سوپ اسفناج) — Persian Creamy Spinach Soup

A velvety Persian spinach soup built on a butter-flour roux, simmered with fresh spinach, then finished with milk and cream. Served hot with crispy fried onions, it’s comforting as a starter or light meal.

By Zaffaron Kitchen· Published March 15, 2026 Verified Recipe
Vegetarian Nut-Free Halal
Contains: dairy, gluten
70 min total Prep 35m · Cook 35m 4 servings 420 cal ~$2.1/serving
↓ Jump to Recipe
Soup-e Esfenaj — Persian Creamy Spinach Soup - authentic persian recipe

Printable Recipe Card

Servings: 4 · Total: 70 min · Difficulty: medium

Ingredients (quick list)

  • 500 g Fresh spinach leaves (washed well, thick stems removed)
  • 200 g Yellow onion (thinly sliced)
  • 180 ml Neutral oil (such as sunflower or canola, for frying)
  • 6 g Sea salt (divided, plus more to taste)
  • 45 g Unsalted butter (cut into pieces)
  • 40 g All-purpose flour (about 1/3 cup; spooned and leveled)
  • 700 ml Water (hot, to prevent lumps)
  • 500 ml Whole milk (warmed)
  • 1 g Black pepper (about 1/2 teaspoon, plus more to taste)
  • 120 ml Heavy cream (plus extra for serving if desired)

Steps (summary)

  1. Make the crispy fried onions: separate the onion slices into rings. Heat the oil in a small saucepan to 170°C (340°F). Fry onio…
  2. Prepare the spinach: bring a large pot of water to a boil, then add the spinach and blanch for 60–90 seconds until wilted and b…
  3. Build the roux base: in a medium pot over medium heat, melt the butter. Add the flour and whisk constantly for 2–3 minutes unti…
  4. Whisk in liquids without lumps: reduce heat to low. Slowly whisk in the hot water in a thin stream, fully smoothing the roux as…
  5. Simmer with spinach: stir in the chopped (or blended) spinach, the remaining 4 g salt, and the black pepper. Simmer gently for…
  6. Finish with cream and adjust: lower heat to the smallest simmer and stir in the heavy cream. Cook 2–3 minutes—do not boil after…

+ 1 more steps in the full instructions section below.

Cultural Background

Creamy spinach soup is a familiar home-style dish in Iranian cooking, often served as a warming starter or a light meal. The contrast of smooth soup with crispy fried onions reflects a common Persian preference for layered textures and gentle, balanced flavors.

savorybutterymildly sweet from onionsearthy spinachvelvetycreamycrisp topping from fried onionstoasted butterfresh greenssweet fried onion🌶 low

Equipment

Large pot (for blanching spinach)ColanderMedium pot (for soup)WhiskKnife and cutting boardSmall saucepan (for frying onions)Thermometer (optional, for oil temperature)Paper towelsImmersion blender or countertop blender (optional)

💡 Tips

  • Warm the milk and use hot water when building the soup base; cold liquids increase the chance of lumps.
  • For extra-smooth soup, blend the finished soup for 20–30 seconds with an immersion blender, then rewarm gently.
  • Fry onions to a deep golden color; they continue darkening slightly after removal, so pull them just before they look fully done.
  • If your spinach is very sandy, soak it in a large bowl of cold water for 5 minutes, lift out (do not pour), then rinse again.

⚠️ Common Mistakes

  • ❌ Adding cold milk or water to the roux all at once

    💡 Why: The starch gelatinizes unevenly and forms lumps that are hard to whisk out later

    ✅ Fix: Use hot water and warmed milk, and whisk them in slowly in a thin stream while keeping heat low at first

  • ❌ Boiling the soup after adding cream

    💡 Why: High heat can cause the dairy to separate, making the soup grainy

    ✅ Fix: Add cream at the end and keep the soup at a very gentle simmer (or just below) for 2–3 minutes

  • ❌ Overcrowding onions while frying

    💡 Why: The oil temperature drops, onions steam instead of crisping, and they brown unevenly

    ✅ Fix: Fry in batches at about 170°C (340°F) and drain well on paper towels; salt immediately

  • ❌ Not draining spinach thoroughly after blanching

    💡 Why: Excess water dilutes flavor and can make the soup thin

    ✅ Fix: Press spinach firmly in a colander or squeeze in a clean towel before chopping or blending

🧊 How to Store

Cool completely, then refrigerate in an airtight container for up to 3 days. Reheat over low heat, stirring often; avoid boiling to prevent the dairy from separating. Store fried onions separately at room temperature (airtight) for up to 2 days to keep them crisp.

📅 Make Ahead

Prepare the fried onions up to 2 days ahead and store airtight at room temperature. The soup base can be cooked 1 day ahead; cool and refrigerate, then reheat gently and stir in the cream just before serving for the smoothest texture.

🍽️ Pairs Well With

  • Warm flatbread or crusty bread
  • A simple cucumber and tomato salad
  • Lemon wedges (optional
  • for brightness)

Regional Variations

  • Tehran-style home cookingOften blended very smooth and served as a starter with a neat cream swirl and a generous layer of crispy fried onions on top.
  • Northern Iran (Caspian-influenced kitchens)Sometimes kept slightly more textured with more greens and a lighter dairy finish, emphasizing the fresh spinach flavor.
family dinner weeknight meal winter warming starter light lunch
#comfort-food#creamy#starter#winter#persian-classic

Ingredients

  • 500 gFresh spinach leaves (washed well, thick stems removed)
  • 200 gYellow onion (thinly sliced)
  • 180 mlNeutral oil (such as sunflower or canola, for frying)
  • 6 gSea salt (divided, plus more to taste)
  • 45 gUnsalted butter (cut into pieces)
  • 40 gAll-purpose flour (about 1/3 cup; spooned and leveled)
  • 700 mlWater (hot, to prevent lumps)
  • 500 mlWhole milk (warmed)
  • 1 gBlack pepper (about 1/2 teaspoon, plus more to taste)
  • 120 mlHeavy cream (plus extra for serving if desired)

🔄 Substitutions

  • Whole milk→ 2% milk
  • Heavy cream→ Half-and-half
  • All-purpose flour→ Gluten-free all-purpose flour blend

Instructions

  1. 1

    Make the crispy fried onions: separate the onion slices into rings. Heat the oil in a small saucepan to 170°C (340°F). Fry onions in 2–3 batches for 8–12 minutes per batch, stirring often, until deep golden. Transfer to a paper towel-lined plate and immediately season with 2 g of the salt.

  2. 2

    Prepare the spinach: bring a large pot of water to a boil, then add the spinach and blanch for 60–90 seconds until wilted and bright green. Drain well and press out excess water. Chop finely, or blend with 120 ml of the measured water for a smoother texture.

  3. 3

    Build the roux base: in a medium pot over medium heat, melt the butter. Add the flour and whisk constantly for 2–3 minutes until the mixture smells nutty and turns pale blond (do not let it brown). This step thickens the soup and removes raw flour taste.

  4. 4

    Whisk in liquids without lumps: reduce heat to low. Slowly whisk in the hot water in a thin stream, fully smoothing the roux as you go, about 2 minutes. Then whisk in the warmed milk. Increase heat to medium and bring to a gentle simmer, stirring frequently, 6–8 minutes.

  5. 5

    Simmer with spinach: stir in the chopped (or blended) spinach, the remaining 4 g salt, and the black pepper. Simmer gently for 10 minutes, stirring every 1–2 minutes to prevent sticking, until the soup is velvety and the spinach flavor mellows.

  6. 6

    Finish with cream and adjust: lower heat to the smallest simmer and stir in the heavy cream. Cook 2–3 minutes—do not boil after adding cream to keep the texture silky. Taste and adjust salt and pepper. If too thick, add 30–60 ml hot water; if too thin, simmer 3–5 minutes.

  7. 7

    Serve: ladle the soup into warm bowls. Top each serving with a generous tablespoon of crispy fried onions and, if desired, a small swirl of extra heavy cream. Serve immediately while the onions are crisp and the soup is hot and smooth.

🪪 Recipe Passport

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

Cultural Background

Creamy spinach soup is a familiar home-style dish in Iranian cooking, often served as a warming starter or a light meal. The contrast of smooth soup with crispy fried onions reflects a common Persian preference for layered textures and gentle, balanced flavors.

Regional Variations

Tehran-style home cooking: Often blended very smooth and served as a starter with a neat cream swirl and a generous layer of crispy fried onions on top.
Northern Iran (Caspian-influenced kitchens): Sometimes kept slightly more textured with more greens and a lighter dairy finish, emphasizing the fresh spinach flavor.

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

420
Calories
8g
Protein
33g
Fat
24g
Carbs
4g
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.