There are as many Mediterranean fish soup recipes as there are fish in the sea, but the most famous is probably bouillabaisse, a Provençal fish stew originating from the port city of Marseille.

When I lived in the south-west of France, I decided to teach myself how to make the classic bouillabaisse comme a Marseille. I downloaded the traditional bouillabaisse recipe from the Marseille Tourist Office website and proceeded to order several pounds of maritime creatures including bony rockfish, conger, monkfish and several types of mysterious shellfish from the local fish market.

After many hours of painstaking cleaning, cooking, shelling and straining, I served the stew to my kids. I must admit, it didn’t look as appetizing as I’d hoped — grey, watery and thin — and didn’t taste great, either. In fact, after only one spoonful my children spluttered, spat and complained bitterly. “Mum, it tastes like seawater!” They were right — it was inedible. I poured the sandy, briny concoction down the toilet and made grilled cheese for dinner. (My children still tease me about this; we all agree this was the single most revolting meal I’ve ever cooked.)

I swore that day to never again spend hours trying to recreate complicated traditional recipes when less expensive, tastier modern equivalents can be made in a fraction of the time! That was how this recipe came into being.

I have kept all the bouillabaisse elements I love — saffron, fennel, orange peel, herbes de Provence, garlic mayonnaise and briny stock — and married them with simple fish and seafood you can buy in most American supermarkets: salmon, cod, shrimp and mussels (frozen is fine).

If it’s authentic bouillabaisse you want, you’ll have to fly to Marseille. But for those of us who just want a fragrant, nutritious Mediterranean fish soup, look no further than this simple recipe.   

Mediterranean fish stew

Keyword: Dairy-Free (or can be), Fish & Seafood, Gluten-Free (or can be), Keto (or can be), Low-Carb, Soups & Stews
Total Time: 50 minutes
Servings: 6
Calories: 457kcal
A cross between the famous Provencal bouillabaisse and Italo-American cioppino, this fragrant fish stew will make every meal a feast! Serve with small slices of toasted baguette slathered with rouille, a garlicky olive oil mayonnaise from the South of France.
Print Recipe


Fish stew

  • 8 oz white fish cod, halibut, monkfish, mahi-mahi, sea scallops or another firm white fish, cut into 1-inch chunks
  • 1 tbsp extra virgin olive oil
  • 1 red onion chopped
  • 3 cloves garlic minced
  • 2 carrots quartered lengthwise and thinly sliced
  • 1 leek white and light-green sections only; sliced and washed in a bowl of cold water to remove any grit
  • 1 fennel slice off base and branches; quarter, core and cut across into thin slices
  • 2 tsp Italian seasoning mix
  • 2 tsp sweet paprika powder
  • pinch red pepper flakes
  • 1 3-4 inch strip orange peel untreated (organic)
  • 1/2 cup dry white wine or Noilly Prat if you don;t consume alcohol, replace with 1/2 cup chicken stock and 1 tsp lemon juice
  • 2 1/2 cups chicken bone broth
  • generous pinch saffron
  • 1/2 cup pitted black olives like kalamata chopped
  • 14 oz tomatoes fresh or canned, chopped
  • 1 tbsp tomato paste
  • 1/2 lb white fish like cod, halibut, monkfish, mahi-mahi, etc.
  • 1/2 lb salmon fillet skinned
  • 1/2 lb shrimp peeled and deveined
  • 1 lb fresh mussels washed in a sink of cold water, "beards" removed with a sharp paring knife
  • 1/2 cup parsley coarsely chopped
  • generous squeeze fresh lemon juice

Rouille (garlic mayonnaise) - makes about 1/2 cup

  • 1 egg yolk
  • ½ tsp garlic powder if you like a stronger garlic flavor, replace with 1 clove fresh garlic, finely minced
  • ½ tsp smoked paprika powder
  • ¼ tsp salt
  • squeeze of fresh lemon juice
  • ½ cup extra virgin olive oil


Rouille (garlic mayonnaise)

  • In a small mixing bowl, combine egg yolks with minced garlic, smoked paprika, salt and a generous squeeze of lemon juice. While beating the egg yolks and garlic with a small wire whisk (here's the kind of whisk I use), veeery slowly add oil to the egg mixture: at first in drops, stirring constantly, and then growing to a thin trickle as the mayonnaise comes together. Whisk steadily while the mixture thickens. When all the oil has been amalgamated, add more lemon juice, salt and pepper to taste. Refrigerate until needed. (If you like this mayonnaise, why not make a double batch? It's actually slightly easier to make when there's more in the bowl to whisk.)

Bouillabaisse (fish soup)

  • In a large, heavy bottomed pot or Dutch oven, warm olive oil and cook onions until translucent (4-5 minutes). Add garlic, fennel, herbs and red pepper flakes and cook another 2-3 minutes,stirring. Add wine (if using), stock, saffron and olives, stir to combine and bring to a boil. Cover and cook on low-medium heat for 15 minutes. Stir in tomatoes and tomato paste and cook another 5 minutes.
  • Add the slowest-cooking fish or seafood first and the faster-cooking ones a few minutes later. For instance, firmer fish like monkfish or mahi-mahi need about 6-8 minutes’ cooking time, so add these to the soup base first. Salmon and mussels take less time – about 4-6 minutes – so add these next. Shrimps need only about 2-3 minutes, depending on their size, so add these when all the other fish and shellfish are almost ready.
  • Once all the fish and seafood are cooked, season stew with salt, pepper and lemon juice, then sprinkle with parsley and serve., accompanied with the rouille. I stir the rouille directly into the hot soup, but you can also spread it onto thin slices of toasted baguette and place them on top of the hot soup to absorb the fragrant broth for a minute or two.


  • Unless you're on a keto diet (or very, very hungry), plan to use about 1/2 of the rouille and save the rest for later; it'll keep for several days in the fridge.
  • As rouille is made with raw egg yolk, it should not be eaten by pregnant women or people with weakened immune systems. In its place, you can use 3.5 oz of high-quality commercial mayonnaise (I recommend Chosen Foods' avocado-oil mayonnaise) to which you add 1-2 cloves of crushed garlic and a pinch of smoked paprika powder and/or saffron.
  • You can use any fish and shellfish you like in this recipe. Check the Monterey Bay Aquarium for the most sustainable and least-polluted fish.


Serving: 1.5cups soup and 1 tbsp rouille | Calories: 457kcal | Carbohydrates: 16g | Protein: 34g | Fat: 28g | Saturated Fat: 4g | Cholesterol: 178mg | Sodium: 819mg | Potassium: 988mg | Fiber: 4g | Sugar: 5g | Vitamin A: 5295IU | Vitamin C: 31mg | Calcium: 150mg | Iron: 5mg