Moroccan Fish Stew with Chermoula, Tomatoes, and Olives

Updated November 4, 2026

Total time
1 hr
prep 25 min · cook 35 min
Serves
4
portions as written
Safe temperature (USDA)
145°F / 63°C
check the thickest piece

Jump to recipe

Moroccan Fish Stew with Chermoula, Tomatoes, and Olives

Moroccan fish stew is a gently spiced one-pot dish of flaky fish, tomatoes, potatoes, olives, and bright herbs, served hot with bread or couscous. Chermoula-inspired flavors—cilantro, garlic, cumin, paprika, and lemon—make a fragrant broth, while cooking the fish only at the end helps keep it tender; versions vary from cook to cook and region to region.

Ingredients

  • 1½ lb (680 g) firm white fish fillets, such as cod, haddock, halibut, or sea bass, cut into 1½-inch (4 cm) pieces
  • 12 oz (340 g) waxy potatoes, such as Yukon Gold or red potatoes, cut into ¾-inch (2 cm) chunks
  • 1 medium yellow onion, about 7 oz (200 g), finely chopped
  • 1 medium red bell pepper, about 6 oz (170 g), seeded and cut into ½-inch (1 cm) pieces
  • 4 garlic cloves, about 12 g, finely chopped
  • 2 tbsp (30 ml) extra-virgin olive oil
  • 1 tsp ground cumin (about 2 g)
  • 1 tsp sweet paprika (about 2 g)
  • ½ tsp ground coriander (about 1 g)
  • ¼ tsp ground turmeric (about 0.7 g)
  • ¼ tsp cayenne pepper (about 0.5 g), or less to taste
  • 1 can (14½ oz / 410 g) diced tomatoes, with their juice
  • 1 cup (240 ml) low-sodium fish stock or vegetable stock
  • ½ cup (70 g) pitted green olives, halved if large
  • 2 tbsp (30 g) finely chopped preserved lemon peel, rinsed and seeds removed, optional
  • ¾ tsp fine salt (about 4 g), plus more to taste
  • ¼ tsp freshly ground black pepper (about 0.5 g)
  • ½ cup (15 g) chopped fresh cilantro leaves and tender stems
  • ¼ cup (10 g) chopped fresh flat-leaf parsley
  • 1 tbsp (15 ml) fresh lemon juice, plus lemon wedges for serving
  • 1 pinch saffron threads (about 0.1 g), optional

Instructions

  1. Prepare the fish and vegetables. Pat the fish dry and check for any pin bones, removing them with clean tweezers. Cut the fish into similarly sized pieces so they cook at roughly the same rate. Chop the potatoes, onion, pepper, garlic, herbs, and preserved lemon before you begin cooking. If the fish is very thin or delicate, keep it chilled until the stew base is ready; there is no need to marinate it.
  2. Soften the aromatics. Warm the olive oil in a wide, heavy pot or Dutch oven over medium heat. Add the onion and bell pepper and cook for about 6 minutes, stirring occasionally, until softened but not deeply browned. Stir in the garlic, cumin, paprika, coriander, turmeric, cayenne, salt, and black pepper. Cook for 1 minute, stirring constantly, until fragrant. Keep the heat moderate so the garlic and ground spices do not scorch.
  3. Build the tomato broth and cook the potatoes. Add the diced tomatoes and their juice, stock, potatoes, olives, and preserved lemon if using. If using saffron, crumble the threads between your fingers and add them now. Stir and bring the liquid to a gentle simmer. Cover partially and cook for about 15 minutes, stirring once or twice, until the potatoes are nearly tender when pierced with a paring knife. If the pot looks dry before the potatoes are close to done, add a splash of stock or water; the broth should be generous but not watery.
  4. Add the fish gently. Taste the broth and adjust the salt, bearing in mind that preserved lemon and olives can be salty. Arrange the fish pieces in a single layer in the pot, then spoon a little broth over them. Cover and maintain a gentle simmer for 8 to 10 minutes, depending on the thickness of the pieces. Avoid vigorous boiling and frequent stirring, which can break the fish apart. Check the thickest piece with a food thermometer: the USDA FSIS safe minimum internal temperature for fish is 145°F (63°C). Properly cooked fish should also look opaque and separate easily into flakes.
  5. Finish and serve. Turn off the heat and fold in the cilantro, parsley, and lemon juice. Let the stew stand for 2 minutes so the herbs scent the broth, then taste once more for salt, pepper, and lemon. If you want a brighter finish, add another teaspoon of lemon juice; if it tastes too sharp, give it a minute to settle rather than adding sugar. Ladle carefully so each bowl gets fish, potatoes, olives, and broth.

Tips

  • Choose fish that holds together. Cod, haddock, halibut, and sea bass work well because their thicker pieces can be gently poached without disappearing into the sauce. Thinner fillets can still be used, but cut them larger and begin checking them after 5 or 6 minutes. Frozen fish is suitable when fully thawed in the refrigerator and patted dry before cooking; excess surface water can dilute the broth.
  • Use preserved lemon thoughtfully. Preserved lemon peel adds a distinctive salty, rounded citrus flavor. It is sold in some grocery stores and Middle Eastern or North African markets. If you cannot find it, omit it and add a little extra fresh lemon zest and juice at the end; the stew will taste fresher and less complex, so season gradually rather than trying to imitate its saltiness with extra salt.
  • Keep the simmer gentle. Once the fish goes in, small bubbles at the edge of the pot are enough. A hard boil can toughen the fish and break the pieces into flakes before they reach the table. Use a broad pot so the pieces fit in one layer, and check for doneness by temperature rather than relying only on a set number of minutes.
  • Adjust heat and salt in stages. Cayenne is optional, and its strength varies, so start with less if you are unsure. Choose low-sodium stock because olives and preserved lemon contribute salt. You can add seasoning at the end, but it is difficult to correct an overly salty broth without diluting its flavor.

Serving Suggestions

Serve the stew in shallow bowls with plenty of broth, making sure each portion has a fair share of fish and potatoes. Warm crusty bread is useful for soaking up the tomato and herb broth. For a more substantial meal, offer couscous, plain rice, or warm flatbread alongside it; keep these separate until serving so they do not absorb all the liquid in the pot. A simple cucumber, tomato, or leafy green salad adds a cool, crisp contrast. Put lemon wedges and extra chopped cilantro on the table so each person can season their own bowl.

Variations

Make a more pronounced chermoula flavor: Blend or finely mash the cilantro, parsley, garlic, cumin, paprika, lemon juice, and olive oil into a loose herb paste. Stir half into the tomato base and reserve the rest to spoon over the finished stew. This makes the herb flavor more prominent; use a clean spoon for the reserved portion and do not return it to the pot after serving.

Change the vegetables: Carrots or fennel can replace some of the potatoes. Cut them into small, even pieces and add them with the potatoes so they have time to soften. Chickpeas make the stew heartier: add 1 cup (165 g) drained canned chickpeas with the tomatoes. They soak up broth, so add another ¼ to ½ cup (60 to 120 ml) stock if needed.

Use another seafood option: Firm salmon can replace the white fish, though it gives the broth a richer flavor. Peeled, deveined shrimp may be added near the end and cooked until opaque and firm, but avoid cooking them alongside fish pieces for the full 8 to 10 minutes. For mixed seafood, add each ingredient according to its size and cooking time, and check that every seafood component is fully cooked.

Make it milder or warmer: Leave out the cayenne for a gentle stew, or add a pinch more for extra heat. A small pinch of saffron gives the broth a floral aroma, but the stew is still flavorful without it. Green olives are a savory accent; black olives can be substituted, although they have a softer, less briny taste.

Storage and Reheating

Transfer leftover stew to a shallow, covered container and refrigerate it within 2 hours of cooking. It keeps for 3 to 4 days in the refrigerator. The fish will become more delicate as it sits, so move it gently when portioning. For longer storage, freeze the stew in an airtight, freezer-safe container for up to 2 months; potatoes may become softer after thawing, and the fish may lose some of its original texture. Thaw frozen portions in the refrigerator rather than on the counter.

Reheat only the portion you plan to eat, in a covered saucepan over low to medium-low heat, stirring the broth gently around the fish. Add a splash of water or stock if it has thickened. Heat leftovers to 165°F (74°C), checking the center with a food thermometer, and avoid repeated reheating and cooling. A microwave can also work: cover the bowl, heat in short intervals, and turn or gently rearrange the pieces between intervals so the stew heats evenly. The fish may break apart during reheating, but the flavor will remain good.

Frequently Asked Questions

What is the best fish for Moroccan fish stew?

Choose a firm, mild fish that can be cut into thick pieces, such as cod, haddock, halibut, or sea bass. Cod and haddock are accessible options, while halibut is especially firm. Avoid very thin fillets if you want distinct pieces in the finished bowls, and use the thermometer check to confirm doneness regardless of the fish type.

Can I make this stew without preserved lemon?

Yes. Preserved lemon is optional, and the stew is still balanced without it. Use a little lemon zest and fresh juice at the end for brightness. Fresh lemon has a cleaner, sharper flavor and lacks the mellow, salty character of preserved peel, so taste the broth before adding extra salt.

Can I prepare the stew ahead of time?

You can make the tomato, potato, and olive base a day ahead, cool it promptly, and refrigerate it covered. Reheat the base until simmering, then add the fish and cook it just before serving. This keeps the fish from becoming overcooked during storage and reheating. Refrigerate the finished stew within 2 hours if there are leftovers.

Can I use frozen fish?

Yes. Thaw it safely in the refrigerator, then pat it dry before cutting and adding it to the pot. If you need to thaw it more quickly, keep it in a leakproof bag submerged in cold water, changing the water every 30 minutes, and cook it immediately afterward. Do not add fish while it is still frozen, since it can release water and make the cooking time uneven.

Why did my fish break apart in the stew?

Fish can break apart if it is stirred often, simmered too vigorously, or cooked longer than necessary. Nestle the pieces into the broth, cover the pot, and leave them undisturbed while they cook. Use a wide pot and lift portions out carefully with a fish spatula or broad spoon. Small flakes are safe and tasty, even if the pieces are less tidy.

Is this stew very spicy?

As written, it has a mild warmth from ¼ teaspoon of cayenne, and the cayenne can be omitted entirely. Paprika, cumin, and coriander provide aromatic flavor rather than strong heat. If different diners prefer different spice levels, keep the pot mild and put harissa or another chili condiment on the table for individual servings.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).