Moroccan Fish with Saffron

Featured in Delicious Main Dish Recipes for Every Occasion.

Firm white fish is marinated in a flavorful spice mix, then layered with veggies like onions, tomatoes, and bell peppers before simmering in a fragrant sauce featuring saffron, ginger, and warm spices. Preserved lemons and olives add a zesty depth. A slow cook ensures a tender, aromatic result. Serve with couscous or crusty bread for a hearty North African-inspired meal complemented by fresh herbs.

A man wearing a white shirt and suspenders holding a piece of paper.
Updated on Thu, 28 Aug 2025 10:34:57 GMT
Fish dish with olives and lemon. Pin it
Fish dish with olives and lemon. | chefmelt.com

This white fish stew blends tender seafood with garden veggies and warm North African spices. The rich flavors build up while it bubbles away, making a dish that'll take you straight to bustling Moroccan food stalls. I found this gem during my trip across Morocco and have tweaked it countless times for family get-togethers.

My guy swore he wasn't into seafood until he tried this tagine. These days he asks for it almost every week, particularly when we've got company. The mix of saffron with tangy preserved lemon always wows everyone who tries it.

  • Firm white fish fillets try cod sea bass or halibut as they won't fall apart while cooking
  • Fresh tomatoes they bring just enough tang to balance out the spices
  • Onion and carrot they make a tasty foundation that gets sweeter as they cook down
  • Bell pepper brings brightness and a touch of sweetness
  • Saffron threads this fancy spice gives that gorgeous yellow color and unique taste
  • Ground ginger adds warmth without being spicy
  • Paprika cumin and turmeric form the backbone of those classic Moroccan flavors
  • Olive oil grab extra virgin for maximum flavor
  • Fresh garlic you can't skip this for real depth
  • Stock fish or veggie both do the job for a lovely sauce
  • Preserved lemon the hidden gem that brings that real Moroccan tang
  • Olives their saltiness cuts through the sweet veggies
  • Fresh herbs they lift the whole dish

Preparing Delicious Moroccan Fish Tagine

Mix Your Spices
Grab a small bowl and stir together ground ginger paprika cumin and saffron that's been soaking in warm water for about 5 minutes. Pour in olive oil and crushed garlic then mix until smooth. Gently coat each piece of fish with this bright mixture making sure it's all covered. Let the fish sit out for half an hour so the flavors can really sink in.
Stack Your Veggies
Start building by laying onion slices in circles along the bottom. This keeps the fish from sticking later. Add your sliced tomatoes carrot and bell pepper in a pretty pattern. They'll release juices while cooking and make a tasty broth. Drizzle some olive oil on top and sprinkle with salt to help pull out moisture.
Position The Fish
Carefully put your seasoned fish on the veggie bed keeping it raised up a bit. Stick preserved lemon slices around and between the fish pieces so their flavor spreads through everything. Toss olives around the pan for little bursts of salty goodness that work well with the sweet veggies and fish.
Cook It Slowly
Carefully pour stock around the sides without washing off the spices. Put the cone-shaped lid on top which helps steam circulate and drip back down keeping everything moist. Cook on very low heat for exactly 30 minutes for thin fish or 40 for thicker cuts. You'll know it's done when the fish breaks apart easily with a fork but still stays juicy.
Add Final Touches
Turn off the heat and leave it covered for 5 more minutes. This lets the flavors settle and the fish finish cooking gently. Take off the lid and throw lots of fresh parsley and cilantro all over while it's still hot to release their scent. Bring the whole dish to the table for a wow moment before you dish it up.

Saffron really makes this dish special and it's worth spending a bit more for it. I still remember buying some in a Moroccan market where the seller made me smell the tiny red threads to check they were real. That honey-like smell is totally unique and nothing else can replace it. I keep mine in a small glass container in a dark cupboard so it stays potent.

Classic Cooking Method

Back in Morocco they usually cook fish tagines over hot coals which adds a light smoky taste. Most of us at home use our stoves but you can get close to that flavor by adding a tiny bit of liquid smoke or using smoked paprika in your spice mix. The cone-shaped tagine lid isn't just for looks it catches steam and drips it back down keeping everything nice and moist during slow cooking.

A bowl of Moroccan fish tagine with ginger and saffron. Pin it
A bowl of Moroccan fish tagine with ginger and saffron. | chefmelt.com

Perfect Pairings

This dish goes great with fluffy couscous that soaks up all that tasty sauce. For a real Moroccan meal serve it with warm khobz bread for scooping. A simple side of cucumber and mint salad with lemon juice and olive oil works as a cool contrast to the warm spicy fish. If you want a full Moroccan feast start with a small bowl of harira soup and finish with sweet mint tea and oranges drizzled with honey.

Keeping Leftovers

You can keep this tagine in the fridge for up to two days in a sealed container. When reheating add a splash of water and warm it slowly on the stove. I actually like eating the leftovers at room temp for lunch the next day when the flavors have gotten even stronger. Don't try freezing it though since the fish and veggies won't hold up well.

A dish of Moroccan fish tagine with ginger and saffron. Pin it
A dish of Moroccan fish tagine with ginger and saffron. | chefmelt.com

Frequently Asked Questions

→ What’s the best fish for this dish?

You’ll want a firm white fish like cod, halibut, or sea bass. These types hold their shape well during cooking while becoming tender and flaky.

→ Can I make it without a tagine pot?

Definitely! Although a traditional tagine has its charm, a Dutch oven or heavy pot with a snug lid works perfectly fine for this recipe.

→ What’s a good swap for preserved lemons?

If you can’t find them, try using the zest and juice from one fresh lemon with a pinch of salt. It’s not identical but gives a similar pop of citrusy flavor.

→ How can I make this dish spicier or milder?

For more heat, mix in harissa paste or a little cayenne. If you prefer it mild, ease up on the ginger or use sweet paprika instead of hot.

→ What sides go well with this?

Pair it with couscous, crunchy bread to scoop up the sauce, or even a fresh lemony salad. Roasted veggies spiced the same way also make a great addition.

→ Can I prep anything beforehand?

Sure can! Make the spice marinade in advance and slice the veggies the day before. Just marinate the fish a few hours before cooking to keep it perfect.

Fish with Saffron

Flaky fish cooked with spiced veggies and saffron, perfect for family tables or elegant dinners alike.

Prep Time
20 Minutes
Cook Time
40 Minutes
Total Time
60 Minutes

Category: Main Dish Recipes

Difficulty: Intermediate

Cuisine: Moroccan

Yield: 4 Servings (4 hearty servings)

Dietary: Low-Carb, Gluten-Free, Dairy-Free

Ingredients

→ Fish

01 500g of firm white fish like sea bass, halibut, or cod

→ Vegetables

02 1 large onion, thin slices
03 1 carrot, chopped into slices
04 2 medium tomatoes, thin slices
05 2 cloves garlic, finely chopped
06 1 brightly colored bell pepper, sliced
07 1 preserved lemon, cut into thin slices
08 A total of 60g of green or black olives, or a mix

→ Spices & Aromatics

09 0.5g saffron threads, steeped in warm water
10 5g ground ginger powder
11 5g sweet paprika
12 2.5g ground cumin
13 2.5g turmeric powder
14 Freshly cracked pepper and salt, to taste

→ Liquids

15 120ml fish or vegetable stock
16 30ml extra virgin olive oil

→ Garnish

17 30g fresh cilantro leaves, chopped
18 30g fresh parsley leaves, finely chopped

Instructions

Step 01

Grab a bowl and toss in cumin, paprika, ginger, saffron (with that soaking water), a spoonful of olive oil, and the minced garlic. Stir it all up until you get a nice blend. Coat your fish pieces in this mixture and let them soak up the goodness for at least half an hour.

Step 02

Cover the bottom of your tagine or a sturdy pot with overlapping slices of onion, tomatoes, carrots, and bell peppers. Splash the remaining olive oil on top and sprinkle a light touch of salt.

Step 03

Lay down the fish you've marinated right on top of the veggies. Add scattered slices of preserved lemon and drop in those olives, placing them all around the fish.

Step 04

Slowly pour the stock around the edges of the tagine. Keep the marinade on the fish intact. Pop a lid on your pot (or cover the tagine) and simmer on low heat for 30-40 minutes until the fish softens and flakes easily.

Step 05

Take the tagine off the heat, then sprinkle cilantro and parsley generously over the top. Set it on the table hot, and pair it with crusty bread or fluffy couscous.

Notes

  1. If you're using a tagine dish on the stovetop, use a heat diffuser and keep the heat low for the best outcome.
  2. You can prep this dish earlier and leave the simmering until right before it's time to eat.

Tools You'll Need

  • Traditional tagine (clay version) or a solid pot with a lid
  • Heat diffuser for stovetop cooking with a tagine
  • Sharp knife and a sturdy cutting board

Allergy Information

Please check ingredients for potential allergens and consult a health professional if in doubt.
  • Fish allergy warning

Nutrition Facts (Per Serving)

It is important to consider this information as approximate and not to use it as definitive health advice.
  • Calories: 285
  • Total Fat: 14 g
  • Total Carbohydrate: 12.5 g
  • Protein: 28 g