Print
clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon

Authentic Moroccan Fish Tagine with Ginger & Saffron


  • Author: Naomi
  • Total Time: 50 min

Description

An aromatic, spice-infused fish stew that brings the flavors of Morocco to your table. Succulent white fish fillets are gently poached in a fragrant broth of saffron, ginger, preserved lemon, and olives—perfect with crusty bread or couscous.


Ingredients

Scale

For the Fish Marinade

  • lb (700 g) firm white fish fillets (cod, halibut, or sea bass), cut into 6–8 pieces

  • 2 tbsp fresh lemon juice

  • 1 tsp ground ginger (or 1 ½ tbsp finely grated fresh ginger)

  • ¼ tsp saffron threads, lightly crushed

  • 2 cloves garlic, minced

  • 1 tsp paprika

  • ½ tsp ground cumin

  • ½ tsp salt

  • ¼ tsp black pepper

  • 2 tbsp olive oil

For the Tagine Sauce

  • 2 tbsp olive oil

  • 1 medium yellow onion, thinly sliced

  • 3 cloves garlic, minced

  • 1 tbsp fresh ginger, grated

  • 1 tsp paprika

  • 1 tsp ground cumin

  • ½ tsp ground turmeric

  • Pinch of cayenne (optional, for heat)

  • 1 cup (240 ml) crushed tomatoes (canned or fresh-blended)

  • 1½ cups (360 ml) fish or vegetable stock

  • Saffron threads from the marinade, plus 1 tbsp hot water to bloom them

  • 1 preserved lemon, pulp discarded and rind rinsed then cut into thin strips

  • ½ cup green olives, pitted

  • 2 tbsp chopped fresh cilantro

  • 2 tbsp chopped fresh parsley


Instructions

1️⃣ Marinate the fish:
: In a bowl, whisk together lemon juice, ginger, crushed saffron, garlic, paprika, cumin, salt, pepper, and olive oil. Add fish pieces, toss gently to coat, cover, and refrigerate for at least 20 minutes (or up to 1 hour).

2️⃣ Prep your saffron:
: Meanwhile, place the remaining saffron threads in a small dish, pour over 1 tbsp hot water, and let steep until deeply colored (about 5 minutes).

3️⃣ Sweat the aromatics:
: Heat 2 tbsp olive oil in a heavy casserole or tagine over medium heat. Add sliced onion, cooking until softened and beginning to brown, about 5–6 minutes. Stir in garlic, grated ginger, paprika, cumin, turmeric, and cayenne; sauté 1 minute until fragrant.

4️⃣ Build the sauce:
: Pour in crushed tomatoes and stock, scraping up any browned bits. Stir in the bloomed saffron with its liquid. Bring to a gentle simmer.

5️⃣ Add preserved lemon and olives:
: Nestle in the preserved-lemon strips and olives. Simmer uncovered for 5 minutes to meld flavors.

6️⃣ Cook the fish:
: Gently place marinated fish pieces into the sauce, spooning liquid over them. Reduce heat to low, cover, and poach until fish is just cooked through—about 8–10 minutes. Avoid overcooking for tender flakes.

7️⃣ Finish with fresh herbs:
: Off the heat, sprinkle chopped cilantro and parsley over the tagine. Cover again for 2 minutes to let the herbs infuse.

8️⃣ Serve:
: Transfer directly from the tagine or casserole to the table. Serve with warm crusty bread, steamed couscous, or flatbreads to soak up the sauce.

Notes

  • Tagine substitute: If you don’t own a tagine, use a wide, heavy-bottomed pot or Dutch oven with a lid.

  • Fish options: Delicate fish (e.g., trout) can overcook; stick to firmer varieties.

  • Preserved lemons: If unavailable, use 1 tsp finely grated lemon zest and a splash of extra lemon juice, but the depth won’t be quite the same.

  • Make-ahead: Prepare the sauce through step 4 and refrigerate up to 24 hours. Reheat before adding fish in step 6.

  • Spice level: Adjust cayenne or add ½ tsp harissa paste for more heat.

  • Gluten-free & Paleo: Naturally compliant—just check your stock and canned tomatoes for added thickeners.

  • Serving suggestion: Offer harissa, extra lemon wedges, and chopped mint on the side for guests to customize.

  • Prep Time: 25 min
  • Cook Time: 25 min