Khorak Makaroni ba Mahi (خوراک ماکارونی با ماهی) — Persian-Style Fish Pasta
Persian-inspired pasta salad-style khorak with flaky trout or salmon, peas, tomatoes, and herbs, finished with a bright orange-zest and tarragon dressing. Served warm or chilled for a refreshing, aromatic main.

Printable Recipe Card
Servings: 4 · Total: 55 min · Difficulty: medium
Ingredients (quick list)
- 320 g Dried shaped pasta (fusilli or farfalle) (choose a shape that holds dressing)
- 12 g Kosher salt (for salting pasta water (about 1 tablespoon))
- 150 g Frozen green peas (thawed; or add in last minute of boiling)
- 3 Large eggs (for hard-boiling)
- 400 g Skinless trout fillet (or skinless salmon fillet; pin bones removed)
- 30 ml Extra virgin olive oil (for roasting fish)
- 1 g Black pepper (freshly ground (about 1/2 teaspoon))
- 240 g Ripe tomatoes (seeded and diced small (about 2 medium))
- 70 g Shallots (finely minced (about 2 medium))
- 20 g Fresh chives (finely sliced)
- 8 g Fresh tarragon leaves (finely chopped; stems discarded)
- 4 g Orange zest (finely grated (about 2 teaspoons), from 1 orange)
+ 7 more in the full ingredients section below.
Steps (summary)
- Hard-boil the eggs: place eggs in a saucepan and cover with cold water by 2.5 cm. Bring to a full boil over high heat, cover, t…
- Roast the fish: heat oven to 220°C. Place trout or salmon on a lined tray, brush with 30 ml olive oil, and season with 1 g blac…
- Cook pasta: bring 4 liters water to a rolling boil and add 12 g kosher salt. Add pasta and cook until al dente per package timi…
- Make the orange-tarragon dressing: in a bowl, whisk 60 ml olive oil with orange zest, orange juice, lemon juice, mustard, honey…
- Assemble: in a large mixing bowl, combine warm pasta and peas with shallots, diced tomatoes, chives, and chopped tarragon. Pour…
- Finish gently: add flaked fish and fold with a wide spatula to keep pieces intact. Add remaining dressing as needed for a gloss…
Cultural Background
Khorak-style dishes are commonly served as flexible mains in Iranian home cooking, often designed to be practical for gatherings and to taste good at room temperature. This pasta-based version reflects modern Iranian kitchens where global pantry staples are paired with familiar herb-and-citrus flavor patterns.
Equipment
💡 Tips
- For the cleanest citrus aroma, zest the orange directly over the dressing bowl so the oils fall in.
- If your tomatoes are very juicy, seed them well to prevent a watery sauce; add them just before serving if chilling.
- For a more Persian-leaning profile, add 1/4 teaspoon ground coriander to the dressing and increase turmeric slightly.
- Keep fish pieces large; over-mixing turns the pasta cloudy and can make the fish taste stronger.
- If serving cold, reserve 1–2 tablespoons dressing to refresh the pasta right before plating.
⚠️ Common Mistakes
❌ Overcooking the fish until dry
💡 Why: Lean fish like trout quickly loses moisture, and the pasta will not compensate for dryness.
✅ Fix: Roast only until just opaque and flaky (52–55°C internal), then rest 5 minutes and flake gently.
❌ Skipping emulsification of the dressing
💡 Why: Oil and citrus separate, leading to uneven flavor and greasy bites.
✅ Fix: Whisk mustard with juices first, then stream in olive oil while whisking 30–45 seconds until glossy.
❌ Adding tomatoes too early when chilling
💡 Why: Tomatoes release water and dilute the dressing, making the salad watery.
✅ Fix: Seed tomatoes well and fold them in right before serving, or drain diced tomatoes 5 minutes in a sieve.
❌ Rinsing pasta too long under water
💡 Why: Excess rinsing removes surface starch needed for the dressing to cling.
✅ Fix: Rinse only 10 seconds to cool slightly, then toss with dressing while still warm.
🧊 How to Store
Refrigerate in an airtight container for up to 2 days. Store eggs separately if possible for best texture. If the pasta dries out, loosen with 1–2 teaspoons olive oil and a squeeze of orange or lemon juice before serving. Do not freeze; herbs and tomatoes become watery.
📅 Make Ahead
Cook pasta, roast fish, and boil eggs up to 1 day ahead. Store separately, covered, in the refrigerator. Mix the dressing up to 2 days ahead and whisk again before using. Assemble 30–60 minutes before serving for best herb aroma and fish texture.
🍽️ Pairs Well With
- Crisp cucumber and radish platter with lemon
- Mixed greens with a simple olive oil–lemon dressing
- Warm flatbread or crusty bread
- Pickled vegetables
Regional Variations
- Caspian coast (northern Iran)Often made with locally available fish and more fresh herbs; a little extra citrus (orange or sour orange) is common for a sharper finish.
- Tehran-style modern home cookingMore likely to use pantry pasta shapes and a mustard-emulsified dressing; peas and eggs are added to make it a complete one-bowl meal for lunches and picnics.
Ingredients
- 320 gDried shaped pasta (fusilli or farfalle) (choose a shape that holds dressing)
- 12 gKosher salt (for salting pasta water (about 1 tablespoon))
- 150 gFrozen green peas (thawed; or add in last minute of boiling)
- 3Large eggs (for hard-boiling)
- 400 gSkinless trout fillet (or skinless salmon fillet; pin bones removed)
- 30 mlExtra virgin olive oil (for roasting fish)
- 1 gBlack pepper (freshly ground (about 1/2 teaspoon))
- 240 gRipe tomatoes (seeded and diced small (about 2 medium))
- 70 gShallots (finely minced (about 2 medium))
- 20 gFresh chives (finely sliced)
- 8 gFresh tarragon leaves (finely chopped; stems discarded)
- 4 gOrange zest (finely grated (about 2 teaspoons), from 1 orange)
- 60 mlFresh orange juice (strained (about 1/4 cup))
- 15 mlFresh lemon juice (about 1 tablespoon)
- 10 gDijon mustard (about 2 teaspoons, helps emulsify)
- 8 gHoney (about 1 teaspoon; balances citrus)
- 1 gGround turmeric (about 1/2 teaspoon)
- 1 gGround cumin (about 1/2 teaspoon)
- 4 gFine sea salt (about 3/4 teaspoon, adjust to taste)
🔄 Substitutions
- Trout fillet→ Salmon fillet
- Fresh tarragon→ Fresh dill
- Shallots→ Red onion
Instructions
- 1
Hard-boil the eggs: place eggs in a saucepan and cover with cold water by 2.5 cm. Bring to a full boil over high heat, cover, turn off heat, and rest 10 minutes. Transfer to ice water 5 minutes, peel, then slice into wedges or chop medium.
- 2
Roast the fish: heat oven to 220°C. Place trout or salmon on a lined tray, brush with 30 ml olive oil, and season with 1 g black pepper. Roast 10–12 minutes until just opaque and flaky (internal 52–55°C). Cool 5 minutes, then flake into large pieces.
- 3
Cook pasta: bring 4 liters water to a rolling boil and add 12 g kosher salt. Add pasta and cook until al dente per package timing, usually 9–11 minutes. In the final 60 seconds, add peas to the pot to heat through. Drain well and rinse briefly under cool water for 10 seconds.
- 4
Make the orange-tarragon dressing: in a bowl, whisk 60 ml olive oil with orange zest, orange juice, lemon juice, mustard, honey, turmeric, cumin, 4 g fine salt, and 1 g black pepper. Whisk 30–45 seconds until glossy and lightly thickened; taste and adjust salt or citrus.
- 5
Assemble: in a large mixing bowl, combine warm pasta and peas with shallots, diced tomatoes, chives, and chopped tarragon. Pour in about two-thirds of the dressing and toss 30 seconds until evenly coated. Let stand 5 minutes so the shallots soften and flavors bloom.
- 6
Finish gently: add flaked fish and fold with a wide spatula to keep pieces intact. Add remaining dressing as needed for a glossy, lightly sauced texture. Top with egg wedges. Serve at room temperature after 10 minutes, or chill 30–60 minutes for a refreshing cold khorak.
🪪 Recipe Passport
Cultural Background
Khorak-style dishes are commonly served as flexible mains in Iranian home cooking, often designed to be practical for gatherings and to taste good at room temperature. This pasta-based version reflects modern Iranian kitchens where global pantry staples are paired with familiar herb-and-citrus flavor patterns.
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.
- Khoresh-e Gharch (خورش قارچ) — Aromatic Persian Mushroom & Chicken Stew
- Khorak Makaroni va Broccoli (خوراک ماکارونی و بروکلی) — Persian-Style Pasta in Garlic Tomato Sauce
- Khorak-e Sib Zamini va Gerdoo (خوراک سیبزمینی و گردو) – Persian Potato & Walnut Stew
- Khoresh Bamieh (خورش بامیه) – Classic Persian Okra and Lamb Stew
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

Jujeh Kabab (جوجه کباب) — Saffron-Turmeric Chicken with Rustic Tomato Sauce
Persian · Kebabs · 45 min

Jigar Kabab (جگر کباب) — Classic Persian Lamb Liver Skewers
Persian · Kebabs · 33 min

Persian Sweet Corn Soup (سوپ ذرت) — Silky Golden Comfort Soup
Persian · Soups · 50 min

Pone Yay Gyi Curry (ပုန်းရည်ကြီးဟင်း) — Burmese Pork and Fermented Bean Paste
Burmese · Main Courses · 115 min

Dongpo Pork (东坡肉) — Hangzhou Red-Braised Pork Belly
Chinese · Main Courses · 205 min

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

Salgam Juice (Şalgam) — Spicy, tangy fermented black-carrot drink
Turkish · Drinks · 25 min

Borani Kadu (بورانی کدو) — Saffron-Infused Zucchini and Yogurt Dip
Persian · Appetizers · 40 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.