Moroccan · 50 minutes · By Amira

Moroccan Fish Tagine with Chermoula & Preserved Lemon

Along Morocco's Atlantic coast, fish tagine is the everyday celebration — and here it gets the chermoula treatment. Chermoula is the marinade that defines Moroccan seafood: a vivid green paste of cilantro, parsley, garlic, lemon, and warm spices. We slather it over firm white fish, nestle the fillets in a puddle of juicy tomato and preserved-lemon sauce with green olives, and braise it gently until the fish flakes and the sauce turns vibrant. Unlike most tagines, this one cooks fast — under an hour from start to table — making it the perfect route into Moroccan cooking on a weeknight. Serve it the way every seaside cafe in Essaouira does, with our Seven-Vegetable Couscous on the side, and use good preserved lemons — the same ones that star in our Chicken Tagine with Preserved Lemon. The sauce is the real treasure, so bring bread or couscous to soak every last drop.

Moroccan fish tagine with flaky white fish in chermoula, preserved lemon, green olives, and tomatoes
20 minutes prep30 minutes cook50 minutes total4 servingsEasy
By AmiraFounder & Editor-in-Chief · Mediterranean & Moroccan
✓ Tested by our team

Ingredients

  • 1 1/2 lbs firm white fish fillets (cod, hake, sea bass, or halibut), cut into 4 portions
  • 3 tablespoons fresh cilantro, finely chopped
  • 3 tablespoons fresh parsley, finely chopped
  • 4 cloves garlic, minced
  • 2 teaspoons fresh ginger, grated
  • 1/2 teaspoon ground cumin
  • 1 teaspoon sweet paprika
  • 1/4 teaspoon cayenne pepper
  • 1 teaspoon ground coriander
  • 1/2 teaspoon turmeric
  • Juice of 1 lemon
  • 4 tablespoons olive oil, divided
  • 1/2 teaspoon salt, plus more to taste
  • 1/4 teaspoon black pepper
  • 1 large onion, finely chopped
  • 2 ripe tomatoes, grated (seeds and skins removed)
  • 1 preserved lemon, pulp removed, rind finely chopped
  • 1 cup pitted green olives (ideally Moroccan), halved
  • 1/2 cup low-sodium fish or vegetable broth
  • Fresh cilantro and lemon wedges, for serving

Instructions

  1. Make the chermoula: in a small bowl, combine the cilantro, parsley, garlic, ginger, cumin, paprika, cayenne, coriander, turmeric, lemon juice, 3 tablespoons of the olive oil, salt, and pepper. Stir into a bright green paste.

  2. Rub the fish fillets all over with the chermoula, tucking it into any crevices. Cover and marinate at room temperature for 15–30 minutes, or up to 2 hours in the fridge for deeper flavor.

  3. Heat the remaining 1 tablespoon olive oil in a wide, heavy tagine or skillet over medium heat. Add the onion and cook, stirring, until soft and translucent, 5–6 minutes.

  4. Add the grated tomatoes, preserved lemon rind, olives, and broth. Bring to a gentle simmer and cook 5 minutes until the sauce thickens slightly and turns vibrant reddish-orange.

  5. Nestle the marinated fish fillets into the sauce, spooning some over the top. Cover with the lid and reduce the heat to low. Cook gently for 12–15 minutes, until the fish flakes easily and turns opaque — do not stir or flip; the fish will poach in steam and sauce.

  6. Check the sauce for salt — the olives and preserved lemon are salty, so taste before adding more — and add a squeeze of fresh lemon if it needs brightness. Let the tagine rest, covered, 5 minutes off the heat.

  7. Serve the fish tagine straight from the pot, showered with fresh cilantro, with lemon wedges and plenty of couscous or bread for soaking up the sauce.

Tips for Success

  • The marinating time is not optional. Twenty minutes in the chermoula is the difference between lightly seasoned fish and fish that tastes seasoned through and through — the bright garlicky paste works its way into every flake.
  • Use firm white fish, not delicate ones. Cod, hake, sea bass, and halibut hold their shape in the saucy braise. Thin, flaky white fish like tilapia or sole will fall apart — they are better pan-seared instead.
  • Let it rest 5 minutes before serving. The sauce thickens and the flavors settle during the rest, and the fish firms up just enough to hold together when you spoon it out.

Perfect pairings

These recipes belong on the same table — cook them together for a full spread, or swap in a variation next time.

Gear we used for this recipe

Read our hands-on review before you buy:

Frequently Asked Questions

What is chermoula?
Chermoula is Morocco's iconic marinade and sauce for fish: a vivid green paste of cilantro, parsley, garlic, lemon, olive oil, and warm spices like cumin, paprika, and cayenne. It both flavors and tenderizes the fish, and the same paste often flavors the sauce it cooks in.
What fish works best in a Moroccan fish tagine?
Firm, meaty white fish — cod, hake, sea bass, halibut, or grouper. They hold their shape in the saucy braise and flake beautifully. Avoid thin, delicate fish like tilapia or sole, which fall apart. Many Moroccans also use sardines or mackerel, which stay moist and flavorful.
Do I need a traditional tagine pot?
No. A wide, heavy pot with a tight-fitting lid — like a Dutch oven or deep skillet — works perfectly. The key is low, even heat and a sealed lid so the fish poaches in its own steam. A traditional clay tagine does add drama and retains heat beautifully if you have one.
Can I make this dairy-free or gluten-free?
It is naturally both — there is no dairy and no gluten, so it suits most diets as written. Just serve it with naturally gluten-free couscous or rice and skip any bread that contains gluten.
Why did my fish fall apart in the tagine?
Either the fish was too delicate for braising or the sauce was boiling instead of simmering. Use firm white fish like cod, hake, or sea bass, keep the heat low with the lid sealed, and do not stir or flip the fillets once they are in the sauce — they poach gently in steam. Delicate fish like tilapia or sole are better pan-seared than braised.
Why is my fish tagine too salty?
Almost always the preserved lemon and olives — both are salt-cured. Taste before adding any salt, rinse the olives if they taste aggressively briny, and use only the preserved lemon rind (the pulp is intensely salty; discard it). If it is already too salty, add a splash of broth or water and a squeeze of fresh lemon to balance.
Can I make the fish tagine ahead of time?
The sauce (onion, tomato, preserved lemon, olives, broth) can be made up to 2 days ahead and refrigerated. Cook the fish fresh just before serving — it is the one element that does not reheat well and will overcook. Reheat the sauce gently, add the fish, and finish the 12–15 minute poach as directed.

Affiliate disclosure: this page contains affiliate links. If you buy equipment through them, Cuisinety earns a small commission at no extra cost to you — it keeps the site free, and we only recommend gear we actually use. Read ourfull affiliate disclosure.

Browse all 17 moroccan recipes →

Love this recipe? Pin it!

Save it to your Pinterest board so you can find it later.

Pin this Recipe

Keep cooking