Moroccan Fish Stew with Chermoula and Tomatoes

Updated November 4, 2026

Total time
57 min
prep 25 min · cook 32 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 and Tomatoes

Moroccan fish stew is a North African one-pot dish of firm white fish simmered with tomatoes, potatoes, warm spices and fresh herbs. This version borrows the bright, garlicky flavors of chermoula for a fragrant, satisfying dinner, while allowing for the regional and family variations common in Moroccan cooking.

Ingredients

  • 1½ lb (680 g) firm white fish fillets, such as cod, haddock or halibut, skin removed and cut into 1½-inch (4 cm) pieces
  • 3 tbsp (45 ml) olive oil
  • 1 medium yellow onion, about 1 cup (150 g), finely chopped
  • 4 garlic cloves, about 1½ tbsp (20 g), finely chopped or grated
  • 2 tbsp (30 ml) fresh lemon juice
  • 1 tsp (2 g) ground cumin
  • 1 tsp (2 g) sweet paprika
  • ½ tsp (1 g) ground coriander
  • ¼ tsp (0.5 g) ground turmeric
  • ¼ tsp (0.5 g) cayenne pepper, or less to taste
  • 1 tsp (6 g) fine salt, plus more to taste
  • ½ tsp (1 g) black pepper
  • 1 lb (450 g) waxy potatoes, peeled if desired and cut into ½-inch (1.25 cm) cubes
  • 1 medium red bell pepper, about 1 cup (150 g), seeded and sliced
  • 1 can (14.5 oz / 411 g) diced tomatoes, with their juices
  • ¾ cup (180 ml) water or low-sodium fish stock
  • ½ cup (15 g) packed fresh cilantro leaves and tender stems, chopped, divided
  • ¼ cup (5 g) packed fresh flat-leaf parsley, chopped
  • 2 tbsp (20 g) chopped preserved lemon rind, rinsed and finely diced, optional
  • ½ cup (70 g) pitted green olives, optional
  • 1 lemon, cut into wedges, for serving

Instructions

  1. Prepare the fish and aromatics. Pat the fish dry and cut it into evenly sized pieces so it cooks at roughly the same rate. Chop the onion, garlic, pepper and herbs, and cube the potatoes small enough to become tender in the simmering time. Measure the spices and lemon juice before heating the pan. This organization takes about 25 minutes and makes it easier to add the fish at the right moment.
  2. Make the chermoula-inspired seasoning. In a small bowl, combine the garlic, lemon juice, cumin, paprika, coriander, turmeric, cayenne, salt, black pepper, parsley and about half the cilantro. Stir until the spices are moistened. Chermoula is a Moroccan herb-and-spice marinade with many household versions; this quick mixture supplies its characteristic garlic, citrus and herb notes without requiring a blender. Stir in the preserved lemon now if using.
  3. Soften the onion. Warm the olive oil in a heavy, wide pot or Dutch oven over medium heat. Add the onion and cook for about 6 minutes, stirring occasionally, until soft and translucent but not deeply browned. If the onion begins sticking, lower the heat and add a tablespoon of water rather than letting the garlic or spices scorch later.
  4. Bloom the spices. Add the chermoula mixture to the onion and stir for 1 minute, just until fragrant. The short cooking draws out the aroma of the dry spices. Keep the heat moderate: garlic can turn bitter if it browns, and ground spices can burn quickly in a hot, dry pot.
  5. Simmer the potatoes. Add the cubed potatoes, diced tomatoes and their juices, and water or fish stock. Stir well, scraping the bottom of the pot to loosen any flavorful browned bits. Bring the liquid to a gentle simmer, cover partly, and cook for 10 minutes. Stir once or twice so the potatoes cook evenly and do not catch on the bottom.
  6. Add the pepper and olives. Stir in the sliced bell pepper and olives, if using. Simmer uncovered for 8 minutes, stirring gently once. The potatoes should be almost tender when pierced with a small knife, and the sauce should look slightly thickened. If it is reducing too quickly before the potatoes are ready, add water 2 tablespoons (30 ml) at a time.
  7. Cook the fish gently. Nestle the fish pieces into the sauce in a single layer as much as the pot allows. Spoon some sauce over the top, cover, and simmer gently for about 7 minutes, checking a thicker piece near the end. Fish is safely cooked when a food thermometer in the thickest piece reads 145°F (63°C), the USDA FSIS safe minimum internal temperature for fish; it should also look opaque and separate easily into flakes. Avoid vigorous boiling or frequent stirring, which can break the pieces apart.
  8. Finish and taste. Turn off the heat and scatter over the remaining cilantro. Taste the sauce and adjust with a little more salt, black pepper or lemon juice as needed. Let the stew stand for 2 minutes before serving so the sauce settles around the fish. Serve hot with lemon wedges.

Tips

  • Choose fish that holds its shape. Cod, haddock, halibut, pollock and thick pieces of sea bass work well. Very delicate fillets can flake apart in a stew; if that is what you have, cut them into larger pieces and handle them as little as possible. Avoid thin tail ends unless you add them a few minutes after the thicker pieces.
  • Use preserved lemon thoughtfully. It adds a salty, pleasantly bitter citrus depth that fresh lemon cannot quite reproduce. Preserved lemon can be found in many grocery stores and specialty markets. If unavailable, leave it out and finish with extra fresh lemon juice and a pinch of finely grated lemon zest; the result will be fresher and less savory, but still balanced. Reduce added salt slightly if your preserved lemon or olives are especially salty.
  • Keep the simmer gentle. A lively boil can toughen fish and make it fall apart before the potatoes are done. If the sauce bubbles rapidly, turn down the burner. Check potato tenderness before adding the fish, since fish cooks much faster and should not have to wait in the pot while firm potatoes finish cooking.
  • Adjust the sauce, not the fish timing. For a thinner broth, add a splash of water or stock; for a thicker sauce, simmer the tomato base uncovered a little longer before adding fish. If using unsalted stock, taste for seasoning at the end. Spice heat varies, so begin with less cayenne if serving people who prefer mild food.

Serving Suggestions

Bring the pot to the table while the fish is still in generous pieces, and offer lemon wedges so each person can brighten their portion. Warm crusty bread is especially useful for scooping up the tomato-and-spice sauce. Moroccan-style khobz is a natural accompaniment when available, but pita, flatbread or a simple baguette also work well. For a more substantial plate, serve the stew over couscous, rice or a bed of steamed greens; the potatoes already make it filling, so a small portion of grain is usually enough.

A crisp salad of cucumber, tomato and herbs gives the meal a cool contrast. Keep the salad dressing simple, such as lemon juice and olive oil, so it does not compete with the stew’s seasoning. If serving guests, put extra cilantro and lemon on the table rather than adding a large amount to the whole pot; diners can customize their bowls, and leftovers stay more versatile.

Variations

Make it more traditionally herb-forward: Increase the cilantro and parsley slightly and blend them with the garlic, lemon juice, spices and olive oil to make a looser chermoula paste. Some versions include additional herbs or preserved lemon, while others emphasize cumin or paprika. These differences are normal; use the flavor balance you enjoy rather than treating one combination as the only correct one.

Change the seafood: Replace some or all of the white fish with peeled shrimp or chunks of firm salmon. Shrimp need only a few minutes in the simmering sauce, so add them near the end and cook until opaque and firm. Salmon has a richer flavor and may need a little extra lemon. If mixing seafood, add each kind according to its cooking time instead of adding everything together.

Make it vegetarian: Leave out the fish and use vegetable stock, then add a drained can of chickpeas (15 oz / 425 g) after the potatoes have simmered for 10 minutes. Simmer until the potatoes are tender and the chickpeas are hot. The dish will be heartier and less delicate, with a mild nutty flavor in place of the fish.

Adjust the heat and vegetables: Omit cayenne for a mild pot or add a pinch more for a hotter one. A small zucchini, cut into half-moons, can replace some of the bell pepper; add it with the pepper so it softens without turning mushy. Sweet potato can stand in for some of the regular potato, but it makes the sauce sweeter and may soften sooner, so check it as it cooks.

Storage and Reheating

Cool leftovers promptly and refrigerate them within 2 hours of cooking in a shallow, covered container. Keep the fish and sauce together, and use the leftovers within 3 to 4 days. The fish is at its best on the first day; after storage it may be softer, but the stew remains useful for a quick lunch or dinner. For easier portioning, divide the stew into single-serving containers before chilling.

Reheat only the portion you plan to eat. Warm it gently in a covered saucepan over low to medium-low heat, stirring the sauce carefully and turning the fish pieces once if needed. Add a tablespoon or two of water if the sauce has thickened in the refrigerator. Reheat leftovers to 165°F (74°C), checking with a food thermometer, then serve promptly; avoid repeated cooling and reheating because that further affects the fish’s texture. A microwave also works: cover the bowl loosely, heat in short intervals, and check the center temperature. Freeze leftovers in a freezer-safe container for up to 2 to 3 months for best quality. Thaw overnight in the refrigerator and reheat to 165°F (74°C); expect the potatoes and fish to be softer after freezing.

Frequently Asked Questions

Can I use frozen fish?
Yes. Thaw it fully in the refrigerator and pat it dry before cutting and cooking. Excess surface water can dilute the sauce and make the fish harder to handle. If the fish is still partly frozen, it will cook unevenly, so wait until it has thawed rather than simply extending the simmer in the pot.

Can I prepare Moroccan fish stew ahead?
You can chop the vegetables and mix the spice-and-herb mixture several hours ahead, keeping them covered in the refrigerator. For the best texture, cook the tomato and potato base first, then add the fish shortly before serving. If you fully cook the stew in advance, cool and refrigerate it promptly, then reheat gently to 165°F (74°C); the fish may be less firm after reheating.

What can I use instead of fish stock?
Water works well because the tomatoes, garlic, herbs and spices create a flavorful base. Low-sodium vegetable stock is another practical choice. Avoid a strongly flavored stock that could overwhelm the delicate fish, and taste before adding extra salt if your stock is salted.

How do I stop the fish from breaking apart?
Use thick, evenly cut pieces, make sure the potato base is nearly tender before adding them, and keep the pot at a gentle simmer. Spoon sauce over the fish instead of stirring it through. When serving, lift the pieces with a wide spoon or spatula and ladle sauce around them.

Is this stew very spicy?
Not as written: the small amount of cayenne provides gentle warmth rather than intense heat. For a mild version, omit it; for more heat, add cayenne in small pinches or serve harissa alongside so each person can adjust their bowl. Harissa varies considerably in strength and saltiness, so taste it before adding a spoonful to the pot.

Can I make it without potatoes?
Yes. Leave them out and shorten the simmer before adding the fish, since there is no need to wait for potatoes to soften. You can serve the stew with couscous, rice or bread instead. If you add zucchini or another quick-cooking vegetable, simmer it only until tender and keep the fish cooking time separate so it does not overcook.

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