Khoresh Mastery (خورش) — Essential Techniques for Perfect Persian Stews
Khoresh is the heart of Persian home cooking: slow-simmered stews built on golden onions, careful browning, and patient reduction. This master recipe teaches the classic technique that makes any khoresh glossy, balanced, and deeply aromatic.

Printable Recipe Card
Servings: 4 · Total: 140 min · Difficulty: medium
Ingredients (quick list)
- 400 g Yellow onions, thinly sliced (About 2 large onions)
- 45 ml Neutral cooking oil (or ghee) (3 tbsp)
- 600 g Beef chuck, cut into 3 cm cubes (Lamb shoulder works equally well)
- 2 tsp Turmeric
- 30 g Tomato paste (2 tbsp; helps color and gloss)
- 7 g Fine sea salt (1 1/4 tsp, divided)
- 1 tsp Black pepper, freshly ground
- 900 ml Water, hot (Add in stages for better control)
- 2 Dried limes (limoo amani), pierced (Pierce with a skewer to release flavor)
- 0.2 g Saffron threads, finely crushed (Steep in 30 ml hot water for 10 minutes)
- 30 ml Brewed saffron water (From the saffron steep)
Steps (summary)
- Set a heavy pot over medium heat and add the oil, then add the sliced onions. Cook for 12–18 minutes, stirring often, until the…
- Push onions to the edges and add the beef in a single layer so it contacts the pot. Brown for 6–8 minutes total, turning pieces…
- Add turmeric and black pepper and stir for 30 seconds so the spices bloom in the hot fat. Add tomato paste and cook for 2 minut…
- Add 600 ml of the hot water and scrape the bottom to dissolve the browned bits into the liquid. Bring to a gentle boil for 2 mi…
- Add the pierced dried limes and 4 g of the salt, then cover with the lid slightly ajar. Simmer for 75 minutes, stirring every 2…
- Uncover and continue simmering for 20–30 minutes to concentrate the broth until it lightly coats a spoon. Add the remaining 3 g…
+ 1 more steps in the full instructions section below.
Cultural Background
Khoresh represents Iranian culinary patience: onions are slowly caramelized, meat is gently simmered, and the stew is reduced to a polished sheen. This technique-driven approach is taught in homes across Iran and defines the rhythm of family meals.
Equipment
💡 Tips
- Golden onions are non-negotiable: cook them until sweet and amber (12–18 minutes) to avoid a sharp, raw-onion finish.
- Add water in stages and keep it hot; cold water shocks the pot and can toughen meat and dull the stew’s sheen.
- Always finish with a reduction phase uncovered; the signature khoresh texture is thick, glossy, and spoon-coating—not watery.
⚠️ Common Mistakes
❌ Boiling the stew hard for long periods
✅ Fix: Keep a low, steady simmer with small bubbles; tough meat and cloudy broth usually come from aggressive boiling.
❌ Adding too much water at the start
✅ Fix: Start with 600 ml and add only as needed; finish uncovered to reduce until spoon-coating.
❌ Skipping the tomato paste fry-off
✅ Fix: Cook tomato paste in the fat for 2 minutes; it removes raw flavor and improves color and gloss.
🧊 How to Store
Cool to room temperature within 2 hours, then refrigerate in a sealed container for up to 4 days. Reheat gently over low heat with 60–90 ml water to loosen, stirring occasionally; avoid a hard boil to keep the meat tender and the sauce glossy.
📅 Make Ahead
Slice onions and cube meat up to 24 hours ahead and refrigerate separately. The stew itself improves overnight; cook fully, chill, and reheat gently the next day for a more integrated, glossy sauce.
🍽️ Pairs Well With
- Chelow (steamed Persian rice)
- tahdig
- torshi
- fresh herbs (sabzi khordan)
- mast-o-khiar.
Regional Variations
- Northern-style: finish with 15 ml pomegranate molasses for a deeper sweet-sour profile.
- Tehran home-style: use more onion (up to 500 g) for a sweeter, thicker base and a stronger sheen.
- Southern Gulf influence: add 1/2 tsp ground cinnamon with turmeric for a warmer spice perfume.
Ingredients
- 14 ozYellow onions, thinly sliced (About 2 large onions)
- 3 tbspNeutral cooking oil (or ghee) (3 tbsp)
- 1⅓ lbBeef chuck, cut into 3 cm cubes (Lamb shoulder works equally well)
- 2 tspTurmeric
- 1.1 ozTomato paste (2 tbsp; helps color and gloss)
- 7 gFine sea salt (1 1/4 tsp, divided)
- 1 tspBlack pepper, freshly ground
- 3.8 cupWater, hot (Add in stages for better control)
- 2Dried limes (limoo amani), pierced (Pierce with a skewer to release flavor)
- 0.2 gSaffron threads, finely crushed (Steep in 30 ml hot water for 10 minutes)
- 2 tbspBrewed saffron water (From the saffron steep)
🔄 Substitutions
- Beef chuck→ Lamb shoulder
- Dried limes (limoo amani)→ Fresh lime juice (30 ml)
- Neutral cooking oil→ Ghee (45 ml)
Instructions
- 1
Set a heavy pot over medium heat and add the oil, then add the sliced onions. Cook for 12–18 minutes, stirring often, until the onions are deeply golden and reduced, not pale or steamed; this is the flavor base of nearly every khoresh.
- 2
Push onions to the edges and add the beef in a single layer so it contacts the pot. Brown for 6–8 minutes total, turning pieces to develop dark edges; browning builds the stew’s depth and prevents a flat, boiled taste.
- 3
Add turmeric and black pepper and stir for 30 seconds so the spices bloom in the hot fat. Add tomato paste and cook for 2 minutes, stirring constantly, until it darkens slightly; this step removes raw paste flavor and helps create a glossy finish.
- 4
Add 600 ml of the hot water and scrape the bottom to dissolve the browned bits into the liquid. Bring to a gentle boil for 2 minutes, then reduce to the lowest simmer where you see small, steady bubbles; a calm simmer keeps meat tender and broth clear.
- 5
Add the pierced dried limes and 4 g of the salt, then cover with the lid slightly ajar. Simmer for 75 minutes, stirring every 20 minutes and adding up to 300 ml additional hot water only if the level drops below the meat; khoresh should reduce, not become soupy.
- 6
Uncover and continue simmering for 20–30 minutes to concentrate the broth until it lightly coats a spoon. Add the remaining 3 g salt and the brewed saffron water, then simmer 5 minutes more so the aroma integrates without boiling off.
- 7
Rest the stew off heat for 10 minutes before serving so the oil rises and the flavors settle into balance. Skim only if there is excessive oil; a thin sheen on top is traditional and signals a properly cooked khoresh.
🪪 Recipe Passport
Cultural Background
Khoresh represents Iranian culinary patience: onions are slowly caramelized, meat is gently simmered, and the stew is reduced to a polished sheen. This technique-driven approach is taught in homes across Iran and defines the rhythm of family meals.
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

Koofteh Havij (کوفته هویج) — Persian Carrot Meatballs in Saffron-Tomato Broth
Persian · Main Courses · 120 min

Pan-Seared Joojeh Kebab (جوجه کباب تابهای) — Persian Saffron Skillet Chicken
Persian · Kebabs · 34 min

Kabab Vijeh (کباب ویژه) — Royal Persian Mixed Grill Platter
Persian · Kebabs · 70 min

Yemeni Saltah (سلتة) — Bubbling Fenugreek Lamb Stew
Yemeni · Stews · 130 min

Cameroonian Ndolé (Ndolé) — Bitterleaf Peanut Stew with Beef and Seafood
West african · Stews · 140 min

Turkish Menemen (Menemen) — Soft Eggs with Tomatoes and Peppers
Turkish · Main Courses · 37 min

Turkish Cağ Kebab (Cağ Kebabı) — Erzurum Slow-Roasted Charcoal Lamb Skewer
Turkish · Kebabs · 160 min

Kama (Kama) — Estonian Toasted Grain Kefir Drink
Estonian · Drinks · 10 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.