Moroccan Fish Tagine with Ginger & Saffron – Fragrant, Citrusy, and One-Pot Magic

Moroccan Fish Tagine with Ginger & Saffron is a beautifully spiced North African dish that captures the essence of Moroccan coastal cooking — light, aromatic, and deeply flavorful. This slow-simmered stew features tender white fish, warm spices, preserved lemon, and a delicate saffron broth, all gently cooked with tomatoes, onions, and herbs in a traditional tagine or wide skillet.

Traditionally made in clay tagines, this dish has roots in Berber cuisine and has been passed down across generations along Morocco’s Atlantic coast. The flavor profile is unmistakably Moroccan — combining citrus, earthiness, and a subtle heat that makes each bite unique.

It’s a dish that’s easy enough for a weeknight but elegant enough for a special gathering — especially when served with couscous, warm flatbread, or rice to soak up the golden broth.

Ingredients Overview

White Fish

Use firm, mild white fish that holds together well during cooking:

  • Cod

  • Haddock

  • Halibut

  • Sea bass

  • Tilapia (less traditional but accessible)

Cut into large chunks or fillets. Pat dry and season lightly with salt before marinating.

Marinade (Chermoula)

The fish is marinated in a classic Moroccan chermoula — a herb and spice paste made from:

  • Garlic

  • Fresh cilantro and parsley

  • Paprika and cumin

  • Lemon juice

  • Olive oil

  • Ground ginger

Let the fish marinate for at least 30 minutes to absorb all the flavors.

Aromatics

The base of the tagine includes:

  • Sliced onions

  • Garlic cloves

  • Ripe tomatoes (fresh or canned)

  • Preserved lemon slices (or lemon zest as a substitute)

  • Saffron threads (soaked in warm water to release their color and aroma)

  • Fresh herbs for garnish

The vegetables simmer beneath the fish, creating a light stew that’s infused with the marinade.

Spices

This tagine’s signature warmth and golden color comes from:

  • Ground ginger

  • Saffron

  • Sweet paprika

  • Cumin

  • Black pepper

  • Turmeric (optional, for color)

Olive Oil & Water

A generous drizzle of good extra virgin olive oil helps carry the flavors, and a small amount of water or broth creates the light, saucy base.

Step-by-Step Instructions

  1. Prepare the Chermoula Marinade
    In a bowl, mix:

  • 2–3 garlic cloves, minced

  • ½ cup chopped parsley and cilantro

  • 1 tsp ground cumin

  • 1 tsp sweet paprika

  • 1 tsp ground ginger

  • 2 tbsp lemon juice

  • ¼ cup olive oil

  • Salt and pepper to taste

Rub onto the fish and refrigerate for 30 minutes.

  1. Layer the Base in Tagine or Skillet
    In a tagine or deep skillet with lid, heat 2 tbsp olive oil. Layer:

  • Thinly sliced onions

  • Sliced garlic

  • Tomato slices or 1 cup canned crushed tomatoes

  • A few thin slices of preserved lemon

  • Optional: thinly sliced potatoes or bell pepper

Season lightly with salt, pepper, cumin, and a pinch of turmeric.

  1. Add Fish and Saffron Water
    Place the marinated fish over the vegetable bed. Pour in:

  • ½ cup water or light fish broth

  • Saffron threads soaked in 2 tbsp hot water for 10 minutes

Cover with a lid.

  1. Simmer Gently
    Simmer on low heat for 25–30 minutes without stirring. The fish should be just cooked and infused with the saffron and lemony broth. Avoid overcooking — fish should flake easily but stay moist.

  2. Finish and Garnish
    Taste and adjust seasoning. Garnish with fresh cilantro, parsley, and a drizzle of olive oil. Serve immediately.

Tips, Variations & Substitutions

  • No Tagine? Use a heavy-bottomed sauté pan or Dutch oven with a tight lid. Avoid high heat to prevent the sauce from reducing too quickly.

  • Preserved Lemon Substitute: Use fresh lemon zest and a few drops of lemon juice if preserved lemon isn’t available.

  • Add Heat: Add a pinch of cayenne or harissa to the marinade for a spicier version.

  • Make It a Full Meal: Add sliced potatoes to the base — they’ll soak up the juices and act as a starch.

Regional variations may include olives, chickpeas, or even shrimp for a seafood tagine twist.

Serving Ideas & Occasions

Serve Moroccan fish tagine with:

  • Fluffy couscous or steamed rice to absorb the saffron broth

  • Crusty bread or warm flatbread to scoop the sauce

  • A simple cucumber and tomato salad with lemon and olive oil

  • Mint tea or citrus-infused water to refresh

This dish is ideal for:

  • Cozy weekend dinners

  • Ramadan or festive gatherings

  • Healthy weeknight meals

  • Light summer meals with minimal effort

It’s naturally dairy-free, gluten-free (without couscous), and feels luxurious with minimal ingredients.

Nutritional & Health Notes

This dish is:

  • High in lean protein from white fish

  • Rich in anti-inflammatory spices like turmeric, saffron, and ginger

  • Full of healthy fats from olive oil

  • Low in carbs if served without starches

You can make it lighter by reducing oil or omitting potatoes. For extra fiber, serve with whole grain couscous or quinoa.

One serving (without sides) contains approximately:

  • ~300–350 calories

  • ~30g protein

  • ~18g healthy fats

  • ~8g net carbs

It’s nourishing, clean, and perfect for Mediterranean or heart-healthy diets.

FAQs

Q1: What kind of fish works best in Moroccan tagine?
Firm white fish like cod, halibut, haddock, or sea bass are best. They hold their shape during simmering without falling apart.

Q2: Can I use frozen fish?
Yes, but thaw and pat dry completely before marinating to avoid excess moisture in the dish.

Q3: How do I make preserved lemons at home?
Slice lemons and pack with salt in a jar. Let sit at room temp for 2–3 weeks, shaking daily. Use both peel and pulp in tagines.

Q4: Can I add other seafood?
Yes. Shrimp, squid, or mussels can be added in the final 10 minutes of cooking. Avoid overcooking delicate seafood.

Q5: Is this dish spicy?
No — it’s warmly spiced, not hot. Add cayenne or harissa if you prefer heat.

Q6: What if I don’t have saffron?
You can substitute a pinch of turmeric for color, though it won’t have the same floral aroma. Use a high-quality saffron when possible for authenticity.

Q7: How do I store leftovers?
Cool completely and store in the fridge for up to 2 days. Reheat gently to avoid drying out the fish. Best enjoyed fresh.

Print

Moroccan Fish Tagine with Ginger & Saffron – Fragrant, Citrusy, and One-Pot Magic

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

No reviews

A fragrant Moroccan fish stew made with white fish, ginger, saffron, preserved lemon, and warm spices — simmered gently in a tomato-onion base for a light yet flavorful meal.

  • Author: Maya Lawson

Ingredients

Scale
  • lbs firm white fish (cod, halibut, etc.), cut into chunks or fillets

  • 2 tbsp olive oil (plus more for garnish)

  • 1 onion, thinly sliced

  • 2 garlic cloves, sliced

  • 2 tomatoes, sliced (or 1 cup crushed tomatoes)

  • ½ preserved lemon, thinly sliced (or zest of 1 lemon)

  • ½ cup water or fish broth

  • Pinch of saffron threads

  • Salt and pepper to taste

  • Optional: 1 small potato, sliced thinly

For the Marinade (Chermoula):

  • 23 garlic cloves, minced

  • ½ cup fresh parsley and cilantro, chopped

  • 1 tsp paprika

  • 1 tsp ground cumin

  • 1 tsp ground ginger

  • 2 tbsp lemon juice

  • ¼ cup olive oil

  • Salt and pepper to taste

Instructions

  • Mix marinade ingredients. Coat fish and marinate for 30 minutes.

  • Heat oil in tagine or skillet. Layer onions, garlic, tomatoes, lemon slices, and optional potato.

  • Season lightly, then place marinated fish on top.

  • Add saffron water and ½ cup water or broth. Cover and simmer on low for 25–30 minutes.

  • Garnish with herbs and olive oil. Serve hot with couscous or bread.

Notes

  • Use firm fish that won’t fall apart.

  • For extra flavor, marinate fish longer.

  • Add olives or sliced peppers for variation.

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