Disclosure: This post may contain affiliate links which provide us a small commission when used for purchase. Please read my disclosure policy for more information. I am grateful for your support!

Yes, bouillabaisse is a bit of an effort, but you’ll be so rewarded, I promise. I had my first one in the south of France when a friend invited us for dinner, and there’s honestly nothing like it. The fragrant saffron broth, the herbs, the fish, the rouille on the croutons floating on top. It’s one of my favourite things to eat! So roll up your sleeves, pick the best ingredients you can find, and get to it.
Table of Contents
Where bouillabaisse comes from
Bouillabaisse belongs to Marseille. When the Greeks founded Massalia around 600 BC they brought with them a fish stew called kakavia, made from whatever the fishermen couldn’t sell: the damaged, the bony, the unwanted. Simmered in seawater on the beach while they mended their nets, with the broth poured over garlic-rubbed bread. That’s bouillabaisse, and it hasn’t fundamentally changed.
The name is a cooking lesson. Frédéric Mistral was the first to suggest it comes from the Provençal boui abaisso, “when it boils, you lower it,” which is exactly how to cook this dish.
It escaped Provence at the end of the 18th century, largely through Les Frères Provençaux, a Paris restaurant run by two brothers from Marseille, where it became fashionable enough that Dumas and Flaubert wrote about it. From a fisherman’s pot on the sand to Parisian menus in a generation. And Marseille takes it seriously enough that in 1980 the city’s chefs drew up a formal Charte de la Bouillabaisse to protect the traditional recipe and how it’s served.
Ingredients
- Several kinds of fish — a mix of firm white fish that hold their shape. What must never go in is oily fish: no sardines, mackerel, tuna or salmon, they’ll overwhelm everything.
- Shellfish — mussels and prawns add depth to the broth and their shells go into the stock, so nothing is wasted.
- Saffron — gives the colour, the perfume and a faint bitterness that keeps all that richness in check. Soak the threads in a little warm water first so they release properly.
- Fennel, both bulb and seeds — the aniseed note that runs through the whole dish, and the classic Provençal partner to fish.
- Tomatoes and tomato purée — body, sweetness and a little acidity in the base.
- Pastis — a Marseille ingredient in a Marseille dish, reinforcing the fennel and saffron. Ricard pastis if you’re being proper about it.
- Potatoes — firm-fleshed, so they hold together in the broth rather than disintegrating into it.
- Fish stock — made from the heads, bones and prawn shells. This is where most of the flavour lives, so don’t substitute a cube if you can help it.
- Rouille — garlic, saffron and chilli mayonnaise. Not a garnish, part of the dish.
The fish
Originally the pot was filled with Mediterranean rockfish full of flavour and full of bones: rascasse, grondin, saint-pierre, conger, vive, and others that were too awkward or bony to sell at market. Outside Marseille you won’t find exactly the same line-up, and that’s fine too as we don’t all have access to these fish. What matters is that you choose firm, flavourful fish, use several kinds rather than just one, and add some extra shellfish for depth. If the fish is good and you respect the method, it will taste of the sea you are near, even if it is not the Mediterranean.
How to make bouillabaisse
1. illet the fish and build your stock
Fillet the sole and sea bass, set the fillets aside, and keep every bone, head and frame. Peel the prawns and keep the shells. This is where your broth comes from, so don’t throw any of it away. Rinse the bones and heads properly under cold water first, until it runs clear, because any blood left behind turns the stock cloudy and faintly bitter.
Then into the pot with the celery, onion, garlic, bay, peppercorns and parsley stalks, cover with water, and bring it to a gentle simmer, never a rolling boil. Twenty to thirty minutes uncovered is plenty. Strain it, blend the softened aromatics with a ladle of the liquid, and stir that purée back in. That’s what gives the broth body without cloudiness.
2. Make the rouille while the stock simmers
Soak the saffron in a little lemon juice, and the bread in a splash of warm stock. Then whisk the egg yolks with the garlic, Dijon mustard, soaked bread, saffron, paprika and piment d’Espelette, and start adding the oils drop by drop at first, then in a thin stream once it takes. Rush the oil at the beginning and it splits, exactly like a mayonnaise, so go slowly until you see it thicken. Then into the fridge, because it genuinely improves for an hour’s rest.
3. PBuild the soup base
Warm the olive oil in a wide cocotte and sweat the sliced onion, fennel and leek until soft and translucent, five minutes or so, without letting them colour. In go the fennel seeds and soaked saffron, then the garlic just until fragrant, then the tomatoes and tomato purée. Give it a few minutes so the tomatoes break down. Then deglaze with the pastis and white wine and let the alcohol cook off for a minute before the stock goes in.
4. Potatoes first, then the fish in order of firmness
Potatoes and bay leaves in, and simmer twenty minutes until the potatoes are tender but still holding their shape. Now the fish, and the order matters. Monkfish and red snapper first, since they’re firm and need a couple of minutes’ head start. Then the sea bass and sole in large chunks, then the mussels and prawns.
Cover and give it five to seven minutes, until the fish is opaque, the prawns are pink and the mussels have opened. Throw away any that stayed shut. Don’t stir it about at this stage, or you’ll break the fish up.
5. Serve it hot, with the rouille on top
Fish out the bay leaves and ladle it into warm bowls, deep ones. Spread the rouille thickly on garlic-rubbed croutons and float them on the surface so they slowly dissolve into the broth as you eat. Get it to the table straight away, this is a dish that wants to be properly hot.
Tools for this recipe
Check out my favorite kitchen essentials and cookware!
- Use a wide, heavy cast iron cocotte so the fish can sit in the broth in one layer rather than stacked, with enough depth for the liquid to boil hard without going over, and it goes straight from hob to table.
- Use a fine sieve to strain the stock clear of bones and shells, which is what keeps the broth clean rather than gritty.
- Use a sharp knife for filleting the whole fish cleanly along the backbone so you keep the frames intact for stock.
- Use a whisk to emulsify the rouille slowly enough that it thickens rather than splits.
Tips for success
- Ask the fishmonger to fillet the fish and keep the bones: they’ll do it in two minutes and hand you a bag of frames and heads, which saves the fiddliest part of the job and loses you nothing.
- Rinse the bones until the water runs clear: residual blood is the single biggest cause of a cloudy, bitter stock, and it takes thirty seconds to avoid.
- Never let the stock boil: a gentle simmer extracts clean flavour; a hard boil emulsifies the fats and proteins into the liquid and turns it murky.
- Soak the saffron before it goes in: threads dropped straight into a pot release maybe half of what they’ve got. Ten minutes in warm water and you get the colour and the perfume.
- Add the fish by firmness, not all at once: monkfish takes several minutes longer than sole. Everything in together means either rubbery firm fish or delicate fish falling apart.
- Make the rouille first, not last: it needs to rest, and you’ll have your hands full at the end. It also keeps two or three days in the fridge, so you can make it the day before.
How to store it
- In the fridge: Bouillabaisse keeps 2 days, though the fish softens noticeably on reheating, so it’s best eaten the day it’s made. If you know you’ll have leftovers, hold back some of the fish and poach it fresh into the reheated broth. Rouille keeps 2 to 3 days covered in a glass container.
- Making ahead: The stock and the rouille can both be made a day or two in advance, which turns this from a long project into a manageable one. The stock also keeps 3 months frozen.
- In the freezer: Freeze the broth or the stock, not the finished dish. Cooked fish and shellfish go woolly and stringy after freezing, and mussels especially don’t survive it.

More recipes to try
Variations
- Bourride: the other great Provençal fish soup, thickened with aioli instead of served with rouille, and made with white fish only. Milder, creamier, and a genuinely different dish.
- Soupe de poisson: blend everything, bones and all, then pass it through a sieve for a smooth, intense soup served with croutons, rouille and grated Gruyère. This is what Marseille restaurants often serve as the everyday version.
- With langoustines or crab: both add real depth to the broth. Crab in particular, cracked and simmered in the stock, gives a sweetness that’s hard to get any other way.
- Without pastis: not traditional in Marseille, but if you dislike aniseed, leave it out and lean on the fennel bulb and seeds instead.
- On a budget: the dish was invented from unsold fish, so using cheaper firm white fish is truer to its origins than an expensive line-up. Ask the fishmonger what’s good and plentiful that day, and buy heads and frames cheaply for the stock.
How to eat bouillabaisse
Traditionally it’s served in two parts. The broth comes first, very hot, ladled into deep plates with rouille-topped croutons floating on top, and you eat that while the rouille slowly dissolves into it. Then the fish and potatoes arrive separately on a big platter. That’s the Marseille way, and it’s what the 1980 charter protects. I’ll be honest, I prefer mine all in one, because I can’t wait for the explosion of all the flavours together.
For wine, a dry Provençal rosé is the obvious partner, or a white from Cassis or Bandol with enough minerality to stand up to the saffron and garlic.
This bouillabaisse dish is what I make for special occasions or a big table dinner party. Because it takes time and seafood isn’t the cheapest of ingredients today. But when I do, I go all out. I make sure I have the best ingredients so that the result is to die for!
FAQ
What fish should you use for bouillabaisse?
Several kinds of firm white fish rather than one, plus shellfish for depth. Traditionally Mediterranean rockfish, but any firm local fish works. Avoid oily fish entirely: no sardines, mackerel, tuna or salmon.
Can you make bouillabaisse ahead of time?
Make the stock and the rouille up to two days ahead, which takes most of the work out of the day itself. The fish should go in at the last minute, since it doesn’t reheat well.
What is rouille and do I need it?
Rouille is a garlic, saffron and chilli mayonnaise spread on croutons and floated on the soup. It is the contrast between the rich sauce and the sharp broth is central to the dish.
Why is my bouillabaisse broth cloudy?
Usually the stock was boiled rather than simmered, or the bones weren’t rinsed properly first. Rinse until the water runs clear and keep the stock at a gentle simmer throughout.
What’s the difference between bouillabaisse and a French fish soup?
Soupe de poisson is blended and passed through a sieve into a smooth soup. Bouillabaisse keeps the fish whole in pieces, served in the broth or alongside it, and always includes saffron.

Description
Ingredients
Fish and seafood
- 200 gr sea bass whole
- 150 gr monkfish
- 100 gr red snapper
- 1 dover sole whole
- 200 gr shrimps preferably with shells on
- 500 gr mussels
Soup base
- 3 tbsp olive oil
- 1 onion
- 1 leek
- 1 fennel small
- 5 threads saffron
- 2 cloves garlic
- 5 tomatoes ripe
- 1 tbsp tomato puree
- 450 gr firm-fleshed potatoes
- 1 tbsp fennel seeds
- 3 bay leaf
- 1 l fish stock or prepare your own with whole fishheads
- 120 ml dry white wine
- 2 tbsp Pastis Ricard from Marseille
- salt to taste
Fish stock
- 500 gr fish bones, heads, and shells from the fish and shrimp
- 1 stick celery roughly chopped
- 1 onion quartered
- 2 cloves garlic
- 1 bay leaf
- few parsley stalks
- 1 l water
- 5 peppercorns
Rouille sauce
- 2 egg yolks
- 3 cloves garlic
- 1 tbsp mustard Dijon
- 2 slices white bread crust removed
- 6 threads saffron
- 1 tsp ground paprika
- 1 tsp Piment d’Espelette or cayenne pepper
- 65 ml olive oil
- 65 ml rapeseed oil
- lemon juice
- salt
Equipment
Instructions
1. Prepare the fish and prawns
- Fillet the whole Dover sole and sea bass, cutting along the backbone, and set the fillets aside for the soup. Keep all the bones, heads and frames for the stock. Peel the prawns and keep the shells.
2. Make the fish stock
- Rinse the bones, heads, frames and prawn shells thoroughly under cold water until it runs clear, to remove blood that would otherwise cloud the stock. Put them in the pot with the celery, carrot, quartered onion, garlic, bay leaf, parsley stalks, peppercorns and 1 litre of water. Bring to a gentle simmer over medium heat, never a rolling boil, and cook uncovered for 20–30 minutes.
3. Strain and blend
- Strain the stock through a fine sieve, reserving the cooked vegetables separately. Blend the vegetables with a little of the strained stock until smooth, then stir this purée back into the clear stock. Keep warm.
4. Make the rouille
- Soak the saffron threads in a little lemon juice, and the bread in a splash of warm stock or water. Whisk the egg yolks with the garlic, Dijon, soaked bread, saffron mixture, salt, paprika and piment d'Espelette. Add the olive and rapeseed oils very slowly, drop by drop at first and then in a thin stream, whisking constantly, until thick and emulsified. Adjust the seasoning and chill.
5. Prepare the vegetables
- Slice the onion, fennel and leek. Dice the tomatoes and cut the potatoes into chunks.
6. Start the soup base
- Heat the olive oil in a wide cocotte over medium heat. Add the onion, fennel and leek and sauté until translucent and fragrant, without colouring.
7. Add the spices and tomatoes
- Add the fennel seeds and soaked saffron, then the minced garlic, tomatoes and tomato purée. Stir and cook for a few minutes.
8. Deglaze and add the stock
- Deglaze with the pastis and white wine, letting the alcohol reduce slightly, then pour in the fish stock.
9. Cook the potatoes
- Add the potatoes and bay leaves and simmer gently for about 20 minutes, until the potatoes are tender but still holding their shape.
10. Add the seafood
- Cut the sea bass and sole fillets into large chunks. Add the monkfish and red snapper first and cook for 2 minutes, then add the sea bass, sole, mussels and prawns. Cover and cook for 5–7 minutes, until the fish is opaque, the prawns pink and the mussels open. Discard any mussels that stay closed.
11. Make the croutons and serve
- Toast the baguette slices and rub them with the cut garlic clove. Remove the bay leaves, ladle the bouillabaisse into warm bowls, and serve with the croutons spread thickly with rouille, floated on the soup or alongside for dipping.
Notes
- Traditionally made with Mediterranean fish: bar (sea bass), saint-pierre (John Dory), rouget grondin (red gurnard), lotte (monkfish) and rascasse (scorpion fish), plus red mullet. Use a mix of firm local white fish wherever you are.
- Never use oily fish such as sardines, mackerel, tuna or salmon.
- The stock and rouille can both be made a day or two ahead.
Share your feedback and spread the love!
If you try this recipe, I’d love to hear how it turns out! Leave a ★★★★★ rating and your thoughts in the comments, it helps fellow French foodies discover this recipe too. Snap a photo and tag @obviously.french on Instagram. Come talk about it in our Facebook group. And don’t forget to save this recipe to Pinterest so you’ll always have it handy for your next French-inspired meal!












