This stuffed fish recipe is inspired by an Iranian dish eaten during Persian New Year called Mahi Shekam Por. Sea bream (or sea bass) is stuffed with an aromatic herb, walnut, and pomegranate molasses mixture and roasted whole. The resulting fish is flakey and tender, with a perfect balance of sweet, savory, and tangy, and herbaceous flavor.
Mahi Shekam Por is literally translated from Persian meaning “full-bellied fish.” It is primarily cooked in Iran during Nowruz, the Persian New Year Celebrations that mark the Vernal Equinox (the first day of spring). Perfect for all sorts of holiday celebrations, this whole roasted stuffed fish is traditionally served with rice, like Persian Rice with Potato Tahdig or Saffron Rice.
The ingredients in this stuffed fish recipe are symbolic, with herbs symbolizing rebirth and fish representing life, both key elements of the New Year. In Persian culture, the advent of spring signals the blooming of new life after the winter slumber.
The ingredients are not unlike what you’ll find in Fesenjan, a Persian pomegranate and walnut chicken stew that my family eats to celebrate the Winter Solstice. My version of Mahi Shekam Por adds briny green olives to the stuffing mixture for a further depth of flavor to complement the buttery baked fish.
Cooking the fish whole not only ensures it stays tender, but it also makes for a show stopping centerpiece. A platter of beautifully baked whole fish is perfect not only for ringing in the New Year (whether you celebrate it in spring or winter), but also for a special date night, dinner party, holiday or birthday celebration.
Table of Contents
Ingredients for Persian Stuffed Fish (Mahi Shekam Por)
This stuffed fish is flavored boldly with classic Persian flavorings and roasted whole until juicy and tender. To make it, you’ll need:
- Walnuts: Make sure to buy shelled, un-toasted, and unsalted walnuts, sometimes labeled “raw.”
- Garlic: A fresh aromatic used to flavor the stuffing.
- Herbs: This baked fish recipe is not shy about herbs. You’ll need fresh mint, cilantro and parsley.
- Pomegranate molasses: This gives the stuffing a subtle tart flavor and helps to balance the richness of the herbs and walnuts. You can purchase at our shop, in the international aisle at your grocery store, or make it yourself.
- Extra virgin olive oil: Enriches and flavors both the stuffing and glaze. A high-quality extra virgin variety is essential.
- Green olives: Pitted and in brine are the best. I use Spanish Gordal olives as they are large and juicy.
- Sea bream: For the best flavor, buy whole fish with the bones, skin, head, and tail still intact. The bones also help to prevent the fish from drying out. Ask the fishmonger to scale the fish and clean out the cavity. Make sure the cavity is sliced from the head down to the tail so you can stuff the fish easily.
- Saffron: A red spice derived from the crocus flower, saffron coats the fish to give a distinct earthy flavor. You can find it in the spice section of your grocery store—it’s pricey but a little goes a long way.
- READ MORE: What Is Saffron? An Essential Guide
- TRY IT: Order from our Spice Shop.
- Pomegranate seeds: Add bursts of bright flavor and freshness. If you’re buying pre-seeded tubs at the store, make sure they’re bright red to ensure freshness. Or check out our easy method for how to cut pomegranate for the freshest seeds.
- Salt and pepper: Used to season the fish, enhancing the other flavors.
What is Sea Bream?
Sea bream is a flaky white fish with a mild, slightly sweet flavor and a pleasantly firm texture that’s comparable to a tender and juicy chicken. Its mellow flavor and texture makes it a great option for fish skeptics. It’s also very versatile, as you can load it with whichever flavors you like best.
Substitutes for Sea Bream
If sea bream is not available in your area, you can use any other mild, flaky white fish, like branzino, red snapper, cod, sea bass, flounder, or halibut. The stuffing mix also works very well with salmon, though keep in mind the resulting roasted fish will be richer.
If you are using a fish other than sea bream, which tends to be smaller in size, you might consider doubling the stuffing mixture. The recipe as written will give you enough stuffing to fill 2 medium-sized fish or 1 large fish.
How to Make Persian Stuffed Fish (Mahi Shekam Por)
To make this roasted fish recipe, you’ll need a spice grinder or mortar and pestle, butcher’s twine, and aluminum foil. Here’s how you make it:
Get Ready: Stuff the Fish
- Bloom the saffron. Grind one pinch of saffron threads in a mortar and pestle or spice grinder until they become a fine powder. Stir 1/8 teaspoon of ground saffron in a small bowl with 1 tablespoon of water and set aside to bloom while you prepare the other ingredients.
- Get ready. Preheat your oven to 400F. Line a baking sheet with aluminum foil.
- Prepare the fish. Position the fish on a sturdy cutting board with its belly facing you. Take your knife and slice at a diagonal from near the top of its neck to its belly, cutting deep enough to touch the bone. Do this once more, closer to the middle part of the fish. Flip and repeat on the other side. Season with salt and pepper on both sides and place the fish on the baking tray. Repeat with the remaining fish, setting the prepared fish aside until you are ready to stuff them.
- Grind the walnuts. Add 1/4 cup of untoasted walnuts to the bowl of a food processor and blitz until they’re finely ground.
- Add the aromatics. To the food processor with the walnuts, add 4 crushed and peeled garlic cloves, 1/2 cup each of cilantro and parsley leaves, and 10 mint leaves. Pulse until the herbs and garlic are coarsely chopped.
- Make a paste. Add 2/3 cup (4 ounces) large pitted green olives, 2 tablespoons of pomegranate molasses, and 1/4 cup of the olive oil. Blitz until it forms a coarse paste.
- Stuff the fish. Divide the stuffing amongst the fish, opening the cavity and pushing the flavorful walnut mixture inside.
Tie and Roast the Fish
- Tie the fish. Using butcher’s twine, make a knot at the top end of the fish just under the head. This is the anchor. Then make a series of loops to cover the fish by pulling the twine out away from your anchor and creating a large, loose loop under the fish. Repeat to the length of the fish, around 4 times, then tie off and cut the twine.
- Make the saffron glaze. Whisk the remaining 2 tablespoons of olive oil into the bowl with the bloomed saffron. Brush the fish on both sides with the saffron oil.
- Bake the fish: Place the baking tray in the middle of the oven and roast until the skin is crispy, 30 to 40 mins.
- Garnish and serve. Remove the fish from the oven. Remove and discard the butcher’s twine and gently transfer to your serving dish. Garnish with fresh chopped parsley and pomegranate seeds and serve.
What to Serve with this Persian Stuffed Fish Recipe
To keep things traditional, serve this roasted fish with rice like the golden Persian Rice with Potato Tahdig and Saffron Rice. Also the bright, simple, and fresh Persian Shirazi Salad is a great complement to this herb-packed sea bream.
You’ll Also Like: Festive Fish Recipes
Mediterranean Diet Recipes
Mediterranean Baked Red Snapper with Bell Peppers
Fish and Seafood
Greek-Style Roasted Branzino Recipe
Fish and Seafood
Mediterranean Oven Roasted Mackerel Recipe
Fish and Seafood
Easy Fish en Papillote Recipe
Browse all Mediterranean recipes.
Visit Our Shop.
Try Our Pomegranate Molasses!
This 100% natural Pomegranate molasses packs an intense burst of sweet and tart flavor.
Mahi Shekam Por (Persian Stuffed Fish)
Ingredients
- 1 pinch saffron threads, or 1/8 teaspoon ground saffron
- 4 whole sea bream or branzino, de-scaled and gutted, with its heads and tails attached
- Kosher salt
- Black pepper
- 1/4 cup walnuts (untoasted)
- 4 garlic cloves, crushed and peeled
- 1/2 cup fresh cilantro leaves
- 1/2 cup fresh parsley leaves, plus chopped parsley for garnish
- 10 fresh mint leaves
- 2/3 cup (4 ounces) large pitted green olives
- 2 tablespoon pomegranate molasses
- 1/4 cup plus 2 tablespoons extra virgin olive oil
- 2 tablespoons pomegranate seeds
Instructions
- Bloom the saffron. Grind the saffron threads in a mortar and pestle or spice grinder until they become a fine powder. Stir in a small bowl with 1 tablespoon of water and set aside to bloom while you prepare the other ingredients.
- Get ready. Preheat your oven to 400F. Line a baking sheet with aluminum foil.
- Prepare the fish. Position the fish on a sturdy cutting board with its belly facing you. Take your knife and slice at a diagonal from near the top of its neck to its belly, cutting deep enough to touch the bone. Do this once more, closer to the middle part of the fish. Flip and repeat on the other side. Season with salt and pepper on both sides and place the fish on the baking tray. Repeat with the remaining fish, setting the prepared fish aside until you are ready to stuff them.
- Grind the walnuts. Add walnuts to the bowl of a food processor and blitz until they’re finely ground.
- Add the aromatics. To the food processor with the walnuts, add the garlic, cilantro, parsley, and mint. Pulse until the herbs and garlic are coarsely chopped.
- Make a paste. Add the olives, pomegranate molasses and 1/4 cup of the olive oil. Blitz until it forms a coarse paste.
- Stuff the fish. Divide the stuffing amongst the fish, opening the cavity and pushing the flavorful walnut mixture inside.
- Tie the fish. Using butcher’s twine, make a knot at the top end of the fish just under the head. This is the anchor. Then make a series of loops to cover the fish by pulling the twine out away from your anchor and creating a large, loose loop under the fish. Repeat to the length of the fish, around 4 times, then tie off and cut the twine.
- Make the saffron glaze. Whisk the remaining 2 tablespoons of olive oil into the bowl with the bloomed saffron. Brush the fish on both sides with the saffron oil.
- Bake the fish. Place the baking tray in the middle of the oven and roast until the skin is crispy, 30 to 40 mins.
- Garnish and serve. Remove the fish from the oven. Remove and discard the butcher’s twine and gently transfer to your serving dish. Garnish with fresh chopped parsley and pomegranate seeds and serve.
Notes
- If sea bream is not available in your area, you can use branzino, red snapper, cod, sea bass, flounder, halibut, or any other mild, flaky white fish. The stuffing mix also works very well with salmon. If you’re working with a larger fish, double the stuffing mixture to ensure you have enough.
- To reduce your prep time, ask your fishmonger to scale the fish and clean out the cavity. Make sure the cavity is from the head down to the tail so you can stuff the fish easily.
- Visit our shop to browse quality Mediterranean ingredients including olive oils, honey, jams, and spices.
Anxious to try this! I don’t love saffron…is there another spice you could recommend to substitute in the glaze?
Hi, Mindy. In general, turmeric and paprika tend to be good substitutes for saffron in a pinch, but we’ve never tested either with this recipe, so it’s hard to say how they would change the flavor profile here overall.
I was meant to find this source of an alternative diet. No way I could continue on my current path. To young to be so tired and unhealthy.
Welcome to The Mediterranean Dish, Scott! If you ever have any questions, please don’t hesitate to reach out to use at info@themediterraneandish.com.