Classic Spicy Moroccan Fish in Rich Sauce – A North African Comfort Dish

Spicy Moroccan fish is a deeply flavorful dish made with white fish simmered in a rich, spiced tomato and pepper sauce known as chermoula. This traditional North African recipe is both warming and bold, with layers of cumin, paprika, garlic, lemon, and fresh herbs. It’s often served for Friday lunches or special gatherings, especially in coastal cities like Essaouira and Casablanca.

What makes this recipe truly irresistible is the combination of fragrant spices and tender, flaky fish cooked in a thick, saucy base of tomatoes, bell peppers, and onions. Whether you serve it with warm bread to soak up the sauce, or over couscous or rice, this dish offers a taste of Moroccan home cooking at its finest.

Ingredients Overview

Here’s what you’ll need to make this classic dish — along with options to adjust the heat or adapt to dietary needs.

For the Fish

  • White Fish Fillets: Use firm, mild fish like cod, tilapia, sea bass, or snapper. Skinless and boneless fillets work best.

  • Salt & Pepper: Simple seasoning before adding to the sauce.

  • Lemon Juice: Freshly squeezed to marinate the fish and brighten the dish.

For the Sauce (Chermoula-Style Base)

  • Tomatoes: Freshly grated or canned crushed tomatoes give the sauce its body.

  • Bell Peppers: Red and green peppers add sweetness and a soft texture.

  • Onions: Cooked until golden for a savory foundation.

  • Garlic: A must for Moroccan flavor — fresh and finely minced.

  • Olive Oil: Rich and aromatic, used to sauté the vegetables and bring the sauce together.

Key Spices

  • Ground Cumin: Earthy and essential.

  • Sweet Paprika: Adds color and gentle warmth.

  • Hot Paprika or Chili Powder: For heat — adjust to taste.

  • Ground Coriander: Optional, but adds brightness.

  • Turmeric: Adds warmth and subtle bitterness.

  • Cayenne Pepper (optional): For a fiery kick.

Herbs & Garnish

  • Fresh Cilantro: Chopped and used both in the sauce and as a garnish.

  • Parsley: Balances the cilantro with a fresh, clean note.

  • Preserved Lemon (optional): Chopped rind adds a uniquely Moroccan citrus tang.

Ingredient Tips

  • Choose fresh fish with firm texture so it holds together while simmering.

  • If using canned tomatoes, opt for low-sodium to control salt levels.

  • Let the spices cook in the oil briefly to bring out their full flavor before adding liquids.

Step-by-Step Instructions

This dish comes together in about 45 minutes and can be made in a skillet or tagine.

1. Marinate the Fish

In a shallow bowl, combine:

  • 1 lb (450g) white fish fillets

  • Juice of 1 lemon

  • Salt and pepper

  • Optional: 1 tbsp chopped cilantro and 1 tsp cumin

Let marinate for 15–20 minutes while you prepare the sauce.

2. Prepare the Sauce Base

In a large deep skillet or tagine:

  • Heat 3 tbsp olive oil over medium heat.

  • Add 1 large onion, thinly sliced, and cook for 5–6 minutes until soft and golden.

  • Add 1 red and 1 green bell pepper, sliced into thin strips. Cook another 4–5 minutes.

Add:

  • 4 cloves garlic, minced

  • 1 tsp ground cumin

  • 1 tsp sweet paprika

  • ½ tsp hot paprika or chili powder

  • ½ tsp turmeric

  • Salt to taste

  • Optional: pinch of cayenne

Cook for 1 minute, stirring to toast the spices.

3. Add Tomatoes & Simmer

Stir in:

  • 1½ cups crushed tomatoes (or 4 fresh tomatoes, grated)

  • ¼ cup water or fish stock

  • 2 tbsp chopped fresh cilantro

  • 2 tbsp chopped parsley

  • Optional: chopped preserved lemon rind

Simmer uncovered for 10–12 minutes, stirring occasionally, until the sauce thickens and flavors meld.

4. Add the Fish

  • Nestle the marinated fish fillets into the sauce.

  • Spoon some sauce over the top.

  • Cover and simmer for 10–12 minutes, or until the fish is cooked through and flakes easily.

Avoid stirring too much to keep the fish intact.

5. Garnish and Serve

  • Sprinkle with extra cilantro or parsley before serving.

  • Serve hot with Moroccan khobz, baguette, couscous, or steamed rice.

Optional: Drizzle a little olive oil and add lemon wedges on the side.

Tips, Variations & Substitutions

Tips for Success

  • Let the sauce reduce enough before adding the fish — you want it thick and rich.

  • For extra flavor, sauté the garlic and spices in oil before adding onions or peppers.

  • Use a lid while simmering to keep fish moist.

Variations

  • Tagine Version: Layer sliced potatoes at the bottom, followed by sauce and fish. Simmer slowly over low heat.

  • Tomato-Free: Make a green chermoula using herbs, garlic, lemon, and oil for a lighter version.

  • With Olives: Add pitted green olives to the sauce during the last 5 minutes of cooking.

Substitutions

  • No fresh herbs? Use 1 tsp each of dried parsley and cilantro, but fresh is best.

  • Low heat: Skip the hot paprika and cayenne for a milder version.

  • Vegan Option: Substitute fish with thick slices of eggplant, cauliflower steaks, or chickpeas.

Serving Ideas & Occasions

This dish is perfect for:

  • Family dinners

  • Special Friday lunches

  • Ramadan or Eid meals

  • Dinner parties with North African themes

Serve alongside:

  • Couscous with raisins and almonds

  • Crispy roasted potatoes

  • Fresh cucumber salad with yogurt and mint

Pair with a cup of Moroccan mint tea or fresh lemonade for contrast.

Nutritional & Health Notes

This dish is naturally gluten-free, rich in lean protein, and packed with antioxidant spices.

  • Low in carbs if served without bread

  • High in omega-3s if using fish like sea bass or snapper

  • Anti-inflammatory benefits from turmeric, garlic, and olive oil

Per serving (based on 4 portions):

  • ~320 calories

  • 28g protein

  • 18g fat

  • 10g carbohydrates

To make it even lighter, use less oil and serve with roasted vegetables instead of bread.

FAQs

Q1: Can I use frozen fish?

A1: Yes. Thaw fully and pat dry before marinating to avoid excess moisture in the sauce.


Q2: What if my sauce is too watery?

A2: Simmer uncovered a few extra minutes before adding the fish. The sauce should be thick enough to coat the back of a spoon.


Q3: Can I make this in advance?

A3: Yes. Make the sauce ahead, and add the fish just before serving. You can reheat gently without overcooking the fish.


Q4: What’s the best fish to use?

A4: Firm white fish like cod, halibut, sea bass, snapper, or tilapia. They hold their shape well in the sauce.


Q5: Can I make this dish spicier?

A5: Add extra cayenne, hot paprika, or a chopped green chili to the sauce. Taste as you go to balance the heat.


Q6: Is this dish kid-friendly?

A6: Yes — reduce or omit the heat, and it becomes a very mild, flavorful fish dish with sweet peppers and tomato.


Q7: Can I freeze Moroccan fish?

A7: It’s best enjoyed fresh. If needed, freeze the sauce separately, then add fresh fish when reheating.

Print

Classic Spicy Moroccan Fish in Rich Sauce – A North African Comfort Dish

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

No reviews

Tender white fish simmered in a rich Moroccan tomato and pepper sauce infused with cumin, garlic, paprika, and fresh herbs. A flavorful North African favorite.

  • Author: Maya Lawson

Ingredients

Scale

For the Fish

  • 1 lb (450g) white fish fillets

  • Juice of 1 lemon

  • Salt and pepper to taste

  • Optional: 1 tsp cumin + 1 tbsp cilantro

For the Sauce

  • 3 tbsp olive oil

  • 1 large onion, sliced

  • 1 red bell pepper, sliced

  • 1 green bell pepper, sliced

  • 4 garlic cloves, minced

  • 1½ cups crushed tomatoes

  • ¼ cup water or fish broth

  • 1 tsp cumin

  • 1 tsp sweet paprika

  • ½ tsp hot paprika

  • ½ tsp turmeric

  • Salt to taste

  • Optional: 1 pinch cayenne

  • 2 tbsp fresh cilantro, chopped

  • 2 tbsp fresh parsley, chopped

  • Optional: chopped preserved lemon

Instructions

  • Marinate fish in lemon juice, salt, and spices. Set aside.

  • In a skillet, heat oil and sauté onions 5–6 minutes. Add peppers and cook 5 more minutes.

  • Add garlic and spices. Stir for 1 minute.

  • Stir in tomatoes, water, herbs, and preserved lemon (if using). Simmer 10–12 minutes uncovered until thickened.

  • Add fish to sauce. Cover and simmer 10–12 minutes until cooked through.

  • Garnish with fresh herbs and serve with bread, couscous, or rice.

Notes

Adjust spice to your liking. Use tagine for traditional presentation. Can be adapted to vegan with eggplant or chickpeas.

Did you make this recipe?

Share a photo and tag us — we can't wait to see what you've made!

Leave a Comment

Recipe rating 5 Stars 4 Stars 3 Stars 2 Stars 1 Star