Soup-e Shir (سوپ شیر) — Persian Saffron Milk and Rice Soup
A velvety Persian milk-and-rice soup gently perfumed with saffron and dill. Comforting and mild, it’s simmered slowly for a creamy texture and served warm as a soothing winter starter.

Printable Recipe Card
Servings: 4 · Total: 70 min · Difficulty: easy
Ingredients (quick list)
- 120 g Basmati rice (rinsed until water runs mostly clear)
- 720 ml Water (for simmering rice)
- 30 g Unsalted butter (divided)
- 150 g Yellow onion (finely diced)
- 1 tsp Turmeric
- 1.25 tsp Fine sea salt (plus more to taste)
- 0.5 tsp Black pepper (freshly ground)
- 0.25 tsp Saffron threads (about 0.15 g)
- 30 ml Hot water (to bloom saffron (not boiling))
- 1000 ml Whole milk (room temperature if possible to reduce curdling risk)
- 2 tsp Granulated sugar (optional, for a lightly sweet finish)
- 20 g Fresh dill (finely chopped, plus extra for serving)
Steps (summary)
- Rinse the basmati rice in several changes of cool water until the water runs mostly clear, then drain well. In a small cup, cru…
- In a medium heavy-bottom pot, melt 20 g butter over medium heat. Add the diced onion and cook 8–10 minutes, stirring often, unt…
- Add the rinsed rice and stir 1 minute so the grains are well coated. Pour in 720 ml water, bring to a gentle boil over medium-h…
- Lower the heat to the lowest setting. Slowly pour in the whole milk in a thin stream while stirring continuously to keep the so…
- Stir in the bloomed saffron (including the liquid), sugar (if using), and chopped dill. Simmer gently 3–4 minutes to marry the…
Cultural Background
Milk-based soups are part of home-style Persian cooking and are often served as gentle starters or light meals, especially in colder months. Saffron adds aroma and color associated with celebratory and comfort dishes, while dill is a common herb used to brighten rich foods.
Equipment
💡 Tips
- Keep the soup at a gentle simmer after adding milk; boiling increases the chance of curdling and can scorch the bottom.
- Stir frequently, especially in the last 15 minutes, because rice starch and milk can stick quickly in a heavy pot.
- For extra-smooth texture, lightly mash some rice against the side of the pot during simmering; avoid blending to keep it traditional.
- If you prefer a thinner soup, add 60–120 ml warm milk near the end and simmer 2 minutes to reheat without boiling.
⚠️ Common Mistakes
❌ Boiling the soup after adding milk
💡 Why: High heat can cause milk proteins to curdle and the bottom to scorch.
✅ Fix: Keep heat on low and aim for a gentle simmer; if it starts bubbling vigorously, remove from heat for 1 minute and stir, then return on lower heat.
❌ Not stirring often enough
💡 Why: Rice starch settles and milk solids can stick to the pot, causing burning and an unpleasant flavor.
✅ Fix: Stir every 2–3 minutes once milk is added, scraping the bottom and corners thoroughly.
❌ Adding cold milk straight from the refrigerator
💡 Why: A sudden temperature change can increase the risk of splitting and slows cooking unevenly.
✅ Fix: Let milk sit at room temperature 15–20 minutes, or warm it gently in a separate pot until just lukewarm before adding.
❌ Adding dill too early and simmering it too long
💡 Why: Fresh dill can lose its bright aroma and turn dull in color with prolonged cooking.
✅ Fix: Add fresh dill in the final 3–4 minutes; reserve a little to sprinkle on top at serving.
🧊 How to Store
Cool to room temperature within 2 hours, then refrigerate in an airtight container for up to 3 days. Reheat gently over low heat, stirring often; add a splash of milk or water to loosen as it thickens in the fridge. Do not freeze—milk-based soups can separate and turn grainy.
📅 Make Ahead
Bloom the saffron up to 24 hours ahead and refrigerate it covered. Dice the onion and rinse the rice up to 8 hours ahead; keep rice well-drained and refrigerated. Cooked soup is best within 24 hours; reheat slowly with extra milk to restore its silky texture.
🍽️ Pairs Well With
- Warm flatbread or crusty bread
- A simple herb plate (fresh herbs
- radishes
- cucumber)
- Lemon wedges for a bright finish (optional)
Regional Variations
- Tehran and central IranOften kept very smooth and pale, with minimal herbs; saffron is used for fragrance and a light golden hue, sometimes served as a refined first course.
- Caspian-influenced home cookingMore generous with dill and sometimes made slightly thicker, leaning into a heartier, herb-forward profile while keeping the same gentle milk base.
Ingredients
- 120 gBasmati rice (rinsed until water runs mostly clear)
- 720 mlWater (for simmering rice)
- 30 gUnsalted butter (divided)
- 150 gYellow onion (finely diced)
- 1 tspTurmeric
- 1.25 tspFine sea salt (plus more to taste)
- 0.5 tspBlack pepper (freshly ground)
- 0.25 tspSaffron threads (about 0.15 g)
- 30 mlHot water (to bloom saffron (not boiling))
- 1000 mlWhole milk (room temperature if possible to reduce curdling risk)
- 2 tspGranulated sugar (optional, for a lightly sweet finish)
- 20 gFresh dill (finely chopped, plus extra for serving)
🔄 Substitutions
- Basmati rice→ Jasmine rice
- Whole milk→ 2% milk plus 30 ml heavy cream
- Fresh dill→ Dried dill
Instructions
- 1
Rinse the basmati rice in several changes of cool water until the water runs mostly clear, then drain well. In a small cup, crush the saffron threads with the back of a spoon and pour over 30 ml hot water. Let it steep 10 minutes to fully release color and aroma.
- 2
In a medium heavy-bottom pot, melt 20 g butter over medium heat. Add the diced onion and cook 8–10 minutes, stirring often, until soft and translucent without browning. Stir in turmeric, salt, and black pepper and cook 30 seconds to bloom the spices and coat the onions.
- 3
Add the rinsed rice and stir 1 minute so the grains are well coated. Pour in 720 ml water, bring to a gentle boil over medium-high heat, then reduce to low. Cover partially and simmer 12–15 minutes, stirring every few minutes, until the rice is very tender and starting to break down.
- 4
Lower the heat to the lowest setting. Slowly pour in the whole milk in a thin stream while stirring continuously to keep the soup smooth. Maintain a very gentle simmer (do not boil) for 18–22 minutes, stirring and scraping the bottom every 2–3 minutes, until creamy and lightly thickened.
- 5
Stir in the bloomed saffron (including the liquid), sugar (if using), and chopped dill. Simmer gently 3–4 minutes to marry the flavors. Turn off the heat and stir in the remaining 10 g butter for a glossy finish. Rest 5 minutes, then taste and adjust salt and pepper.
🪪 Recipe Passport
Cultural Background
Milk-based soups are part of home-style Persian cooking and are often served as gentle starters or light meals, especially in colder months. Saffron adds aroma and color associated with celebratory and comfort dishes, while dill is a common herb used to brighten rich foods.
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.
- Soup Espaniayi (سوپ اسفناجی) — Persian-Style Barley and Cabbage Beef Bone Soup
- Spicy Kateh with Chicken (کته تند) — Northern Persian steamed rice with verjuice and herbs
- Tahchin Albaloo (ته چین آلبالو) — Persian Sour Cherry Rice Cake
- Tahchin Morgh or Bareh (ته چین مرغ یا بره) — Persian Saffron Rice Cake
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

Gaeng Som (แกงส้ม) — Thai Sour Curry with Fish and Vegetables
Thai · Soups · 60 min

Vietnamese Sour Fish Soup (Canh Chua Cá) — Tamarind-Scented Mekong Soup
Vietnamese · Soups · 45 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

Bulgarian Banitsa (Баница) — Flaky Sirene-Filled Phyllo Pie
Bulgarian · Breads · 68 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.