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 (rascasse), 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 — all gritty and salty!” They were right — it was inedible. I poured the precious 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 disgusting meal I’ve ever cooked.)

That day, I swore never again to spend hours recreating 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 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.   

Cheat's Bouillabaisse

Total Time: 50 minutes
Servings (enter desired Qty): 6
Calories: 457kcal
Author: Conner
Mediterranean fish soup made simple.
 Print Recipe


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
  • a squeeze of fresh lemon juice
  • 1/2 cup extra virgin olive oil

Bouillabaisse (fish soup)

  • 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)

  • 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