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.
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.
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.
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.
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.
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.
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.
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.