|

Fish Soup with Saffron Rouille (Classic French-Style, Made with Canadian Fish Stock)

If you’ve watched my Soupe de Poisson video, you already know I like a soup that tastes like the sea: deep, aromatic, and strong enough to stand up to rouille, garlic croutons, and a shower of cheese. Since publishing that video, I’ve made a few changes to make the recipe more consistent at home (and easier to write down with reliable proportions). The big one: I shorten the fish-stock simmer so it stays clean and sweet, then I build intensity with a controlled reduction and the final soup simmer.

Fish Soup with Saffron

This is the kind of recipe you make when you want something comforting in the winter, but still “bistro-level.” It’s also a great way to turn fish frames, heads, and bones into something you’ll be proud to serve.

If you like fish nights, you’ll probably also enjoy my ultra-crispy beer battered fish and chips (perfect pairing on a different day) here: https://www.micheldumas.com/en/ultra-crispy-beer-battered-fish-and-chips-complete-recipe-chef-tips/


What makes this fish soup different

  • Real fish stock (not just water + seafood bouillon).
  • Fennel + saffron + paprika for that classic southern-French vibe, without losing the clean taste of the fish.
  • A rouille “my way” (egg + mustard + harissa) that’s bold, stable, and fast.
  • Blending guidance so you don’t end up with gluey soup or a bitter aftertaste.

For another recipe where stock technique really matters, my beurre manié guide is useful when you want to adjust texture at the end: https://www.micheldumas.com/en/beurre-manie-recipe/


Fish Soup with Saffron

Ingredients (Imperial only)

Fish Stock (for the soup base)

  • 3 to 4 lb fish frames/heads/bones (white fish: cod, haddock, sea bream, snapper, etc.)
  • 1 large onion, quartered
  • 2 medium carrots, chopped
  • 1 fennel bulb, chopped (fronds included if you have them)
  • 2 bay leaves
  • 4 to 6 sprigs thyme
  • 1 small handful basil (or parsley if that’s what you have)
  • 10 black peppercorns (optional)
  • 1 1/2 tsp kosher salt (light seasoning only)
  • Cold water (about 10 to 12 cups, enough to cover)
Fish Soup with Saffron

The Soup

  • 1 1/2 lb cod fillets (or another firm white fish), cut in large chunks
  • 2 tbsp olive oil
  • 1 onion, chopped
  • 1 carrot, chopped
  • 1 fennel bulb, chopped
  • 3 to 4 garlic cloves, chopped
  • 1/2 cup dry white wine (optional but recommended)
  • 1 1/2 cups crushed tomatoes (for color + balance)
  • 1 tsp ground cumin
  • 1 tsp paprika
  • 1/2 tsp chili powder (or to taste)
  • 1 pinch saffron threads (about 1/2 tsp threads)
  • 1 tbsp hot water (to bloom saffron)
  • Salt + black pepper, to taste
  • 1 to 2 tsp lemon juice or a small splash of vinegar (finishing acid)

Croutons + Cheese

  • 1 baguette, sliced
  • 1 garlic clove (for rubbing)
  • Grated Gruyère (or Swiss-style cheese), for serving
  • Fresh basil leaves, optional

Rouille (my quick version)

  • 1 large egg
  • 1 tbsp vinegar
  • 1 tbsp Dijon mustard
  • 1 tbsp harissa (more or less to taste)
  • 1 small garlic clove
  • 1 cup neutral oil (or half olive oil / half neutral)
  • Salt + black pepper

If you want a homemade harissa, see: https://www.micheldumas.com/en/homemade-harissa-paste/
And for mayonnaise technique, this one is a great reference: https://www.micheldumas.com/en/homemade-mayonnaise-recipe-easy-failproof/


Fish Soup with Saffron

Step-by-step

1) Make a clean, powerful fish stock (shorter simmer, better flavor)

  1. Add onion, carrots, fennel, bay, thyme, basil, and fish frames/heads to a large pot.
  2. Cover with cold water (about 10–12 cups). Add a light amount of salt.
  3. Bring to a gentle simmer. As soon as it starts bubbling, skim the foam.
  4. Keep it at a bare simmer (not a hard boil) for 60 to 90 minutes.
  5. Strain. If you want more strength, reduce the strained stock by 15–25 minutes instead of simmering the bones for 3 hours.

Why the change from my video: a very long fish simmer can pull bitterness from heads/bones. A shorter stock stays clean, then reduction gives you the punch.

Fish Soup with Saffron

2) Build the soup base

  1. Bloom saffron: mix saffron threads with 1 tbsp hot water and let sit 10 minutes.
  2. In a heavy pot, heat olive oil. Add onion, carrot, fennel, and garlic.
  3. Cook 8–10 minutes until lightly golden.
  4. Add the fish chunks, season lightly, and stir for 1 minute.
  5. Deglaze with white wine (optional), let it reduce for 1 minute.
  6. Add crushed tomatoes, paprika, cumin, chili powder, and the bloomed saffron.
  7. Add fish stock to cover by about 1 inch (usually 6–8 cups).
  8. Simmer gently for 45 to 60 minutes.
Fish Soup with Saffron

3) Blend to the right texture (don’t overdo it)

  • Turn off heat and blend with an immersion blender until smooth but not gluey.
  • If it feels too thick, add a splash of stock or hot water.
  • If it feels too thin, simmer 5–10 minutes uncovered.

Finish with lemon juice or a small splash of vinegar. This is the difference between “good” and “restaurant-level.”

For another soup night, my Potage Parmentier is a classic: https://www.micheldumas.com/en/potage-parmentier-soup/

Fish Soup with Saffron

4) Make the croutons

  1. Slice baguette and toast under the broiler until crisp.
  2. Rub with a garlic clove.

If you want a dedicated guide, my garlic croutons recipe is here: https://www.micheldumas.com/en/homemade-garlic-croutons/

Fish Soup with Saffron

5) Make the rouille (fast, stable, spicy)

  1. Add egg, vinegar, mustard, harissa, garlic, salt, and pepper to a tall cup.
  2. Blend with an immersion blender.
  3. Slowly stream in oil until thick and emulsified.
  4. Chill.
Fish Soup with Saffron

Substitutions

  • Fish for the soup: cod, haddock, pollock, halibut, even monkfish (expensive but amazing).
  • Fish frames: ask your fishmonger for bones/heads (often cheap or free). If you can’t find them, use shrimp shells + a little white fish, but keep simmer short.
  • Saffron: it’s unique, but you can still make a great soup without it—use more fennel + paprika.
  • Tomatoes: crushed tomatoes are easiest; tomato paste works too (2 tbsp) with extra stock.
  • Harissa: adjust heat or swap with a little chili + smoked paprika. Homemade harissa option: https://www.micheldumas.com/en/homemade-harissa-paste/

Fish Soup with Saffron

FAQ

Can I make this fish soup ahead?

Yes. The soup tastes even better the next day. Keep rouille and croutons separate, then reheat the soup gently.

Can I freeze it?

Yes. Freeze the blended soup in airtight containers up to 2–3 months. Make fresh croutons and rouille when serving.

Why add acid at the end?

Fish stock + spices can taste heavy. A small amount of lemon/vinegar lifts everything and makes the flavors “pop.”

My soup tastes bitter—what happened?

Usually: stock simmered too long, or boiled hard. Next time keep it gentle and stop at 60–90 minutes, then reduce the strained stock if needed.

What if I don’t want to blend it?

You can keep it rustic, but blending gives the classic texture. If rustic, chop fish smaller and simmer less.


What to serve with fish soup (Suggested posts)


Fish Soup with Saffron

Fish Soup with Saffron Rouille (Classic French-Style, Made with Canadian Fish Stock)

If you’ve watched my Soupe de Poisson video, you already know I like a soup that tastes like the sea: deep, aromatic, and strong enough to stand up to rouille, garlic croutons, and a shower of cheese. Since publishing that video, I’ve made a few changes to make the recipe more consistent at home (and easier to write down with reliable proportions). The big one: I shorten the fish-stock simmer so it stays clean and sweet, then I build intensity with a controlled reduction and the final soup simmer.
Prep Time 25 minutes
Cooking Time 2 hours
Category Soup
Cuisine Worldwide
Portions 6 Portions
Calories 300 kcal

Ingredients
  

Fish Stock (for the soup base)

  • 3 to 4 lb fish frames/heads/bones white fish: cod, haddock, sea bream, snapper, etc.
  • 1 large onion quartered
  • 2 medium carrots chopped
  • 1 fennel bulb chopped (fronds included if you have them)
  • 2 bay leaves
  • 4 to 6 sprigs thyme
  • 1 small handful basil or parsley if that’s what you have
  • 10 black peppercorns optional
  • 1 1/2 tsp kosher salt light seasoning only
  • Cold water about 10 to 12 cups, enough to cover

The Soup

  • 1 1/2 lb cod fillets or another firm white fish, cut in large chunks
  • 2 tbsp olive oil
  • 1 onion chopped
  • 1 carrot chopped
  • 1 fennel bulb chopped
  • 3 to 4 garlic cloves chopped
  • 1/2 cup dry white wine optional but recommended
  • 1 1/2 cups crushed tomatoes for color + balance
  • 1 tsp ground cumin
  • 1 tsp paprika
  • 1/2 tsp chili powder or to taste
  • 1 pinch saffron threads about 1/2 tsp threads
  • 1 tbsp hot water to bloom saffron
  • Salt + black pepper to taste
  • 1 to 2 tsp lemon juice or a small splash of vinegar finishing acid

Croutons + Cheese

  • 1 baguette sliced
  • 1 garlic clove for rubbing
  • Grated Gruyère or Swiss-style cheese, for serving
  • Fresh basil leaves optional

Rouille (my quick version)

  • 1 large egg
  • 1 tbsp vinegar
  • 1 tbsp Dijon mustard
  • 1 tbsp harissa more or less to taste
  • 1 small garlic clove
  • 1 cup neutral oil or half olive oil / half neutral
  • Salt + black pepper

Instructions
 

Fish Stock

  • Add fish frames/heads + onion + carrot + fennel + bay + thyme + basil to pot. Cover with cold water (10–12 cups).
  • Bring to gentle simmer, skim foam, simmer 60–90 min. Strain. Reduce strained stock 15–25 min if needed.

Soup

  • Bloom saffron in 1 tbsp hot water (10 min).
  • Sweat onion, carrot, fennel, garlic in olive oil (8–10 min).
  • Add fish chunks, season lightly (1 min).
  • Optional: add white wine, reduce 1 min.
  • Add crushed tomatoes, paprika, cumin, chili, saffron water.
  • Add stock (6–8 cups). Simmer 45–60 min.
  • Blend until smooth. Adjust thickness. Finish with lemon juice/vinegar, salt, pepper.

Croutons

  • Toast baguette slices, rub with garlic.

Rouille

  • Blend egg + vinegar + Dijon + harissa + garlic + seasoning, then stream oil until thick. Chill.

Serve

  • Ladle soup, add croutons, Gruyère, a spoon of rouille, basil.

Video

Notes

Substitutions

  • Fish for the soup: cod, haddock, pollock, halibut, even monkfish (expensive but amazing).
  • Fish frames: ask your fishmonger for bones/heads (often cheap or free). If you can’t find them, use shrimp shells + a little white fish, but keep simmer short.
  • Saffron: it’s unique, but you can still make a great soup without it—use more fennel + paprika.
  • Tomatoes: crushed tomatoes are easiest; tomato paste works too (2 tbsp) with extra stock.
  • Harissa: adjust heat or swap with a little chili + smoked paprika. Homemade harissa option: https://www.micheldumas.com/en/homemade-harissa-paste/

FAQ

Can I make this fish soup ahead?

Yes. The soup tastes even better the next day. Keep rouille and croutons separate, then reheat the soup gently.

Can I freeze it?

Yes. Freeze the blended soup in airtight containers up to 2–3 months. Make fresh croutons and rouille when serving.

Why add acid at the end?

Fish stock + spices can taste heavy. A small amount of lemon/vinegar lifts everything and makes the flavors “pop.”

My soup tastes bitter—what happened?

Usually: stock simmered too long, or boiled hard. Next time keep it gentle and stop at 60–90 minutes, then reduce the strained stock if needed.

What if I don’t want to blend it?

You can keep it rustic, but blending gives the classic texture. If rustic, chop fish smaller and simmer less.
Keywords Fish, Soup

Useful Links

🛒 Michel Dumas Shop : Explore our kitchen essentials, including aprons and knives.
🌐 Linktree : Access all our important links in one place.
📱 YouTube | Instagram | Facebook | TikTok : Follow us for the latest recipes and culinary tips.

Articles similaires

Leave a Reply

Your email address will not be published. Required fields are marked *