Classic French Bouillabaisse Recipe

Pronounced like boo-yah-base, this slow-simmered dish is classically French and a little more complicated than the average stew (just wait until you see the ingredients list). There are a hundred different ways to cook a modern bouillabaisse. Some recipes run boiled fish through a food mill, while others add whole lobster and prawns to the bubbling broth. No recipe is wrong, provided the broth is bright and rich and there's a good amount of fish involved. 

Like many famous soups and stews, bouillabaisse started as a poor man's meal, made by sailors with the scraps leftover from their day's catch. It became Marseille's most famous dish, and soon, one of the most expensive. Because bouillabaisse is so flexible in what fish it uses, the soup is a good opportunity for experienced chefs to show off with their fanciest fish. The truth is, though, this soup is just as good with the cheap, boney fish it started with.

This recipe, developed by Michelle McGlinn, walks through every step of an easy, relatively inexpensive, home-cooked bouillabaisse. The key to an excellent, though easy, bouillabaisse is making homemade fish stock, a seemingly-intimidating task that takes barely 10 minutes of prep. The other must-have is the rouille: a spicy, garlicky paste that's spread on toast and eaten with the soup. With bouillabaisse, every step is important; this recipe shows you how to do each one with ease.

Everything you need for classic French bouillabaisse

Don't let the long ingredient list scare you — many of the ingredients (like olive oil and even leeks) are reused throughout the recipe, so your shopping list won't be as long as it seems. Plus, you may already have many items on hand, like garlic, onion, peppercorns, egg yolk, water, and lemon. 

The vegetables you need to grab include fennel, leeks, celery, a shallot, potatoes, tomatoes, and an orange (you'll just be using the peel). 

Much of the flavor comes from saffron threads, bay leaves, clam juice, salt, and Pernod, though you can swap the Pernod for white wine or any anise liqueur you prefer (Pastis is traditional). 

You'll also need plain breadcrumbs or really crusty bread, a jar of roasted red peppers, and nearly 3 pounds of fish. You can get creative with what fish you choose, or you can use whatever is sitting at the back of your freezer. Almost any fish will work, but the recipe works especially well with thick white fish, gelatinous rockfish, and shellfish. Use shrimp so you can recycle the shells for the stock, and buy at least one whole fish so you have fish bones to boil. If you have a really good fishmonger, try asking for discarded bones.

For this recipe, we use cod, sea bass, jumbo shrimp, perch, and littleneck clams. Depending on where you live and what's in season, you can also try using red snapper, monkfish, rockfish, prawns, or mussels.

Make a fish stock

In traditional French versions of bouillabaisse, this step is vital to serving the correct dish. The fish used and the method of boiling creates a cloudy, creamy broth, which is then blended into a thick soup. In this version, no blending is involved, so the stock serves as a delicious base for a fish stew. Plus, it's not hard to make, so don't skip it: It only requires about 10 minutes of hands-on time.

Open up the aromatics (the garlic, onion, leeks, celery, and shrimp shells) by sautéing them in oil first, then cover them in water and drop in the remaining spices, flavorings, and bones. Fish bones are the magic in a good stock and will add depth and flavor. Drop in a whole fish head, the tail, and as many bones as you can manage, using mostly large bones to make straining easier. If you can't stand the thought of chopping a fish apart, just drop the fish in whole and let it simmer away. You can always use the poached meat for something else.

Strain the stock

You don't want any tiny fragments in the stock, even after everything breaks down, so use a regular strainer and let the broth run through. Be patient here and press down on the solids to extract all the flavor and broth; you'd be surprised how much liquid is still hanging around inside the fennel and onion layers.

If you are short on time, you can make the fish stock ahead, cool it completely, then store it, covered, in the refrigerator for up to a week. This is a great way to prep for a dinner party, too. Once the stock is done (and the rouille, too, if you're especially savvy) the soup comes together in less than 30 minutes.

Blend the rouille

Traditionally, rouille is mashed together using a mortar and pestle until the consistency is like a paste. While we appreciate a good humbling in the kitchen, there are easier ways to make rouille with results that are just as delicious. Simply blend all the ingredients together in a food processor and slowly drizzle in the olive oil until it reaches the desired consistency. Our version has lots of roasted red pepper for a pepper-heavy sauce mixed with saffron, egg yolk, garlic, and breadcrumbs (some versions forgo the pepper). You'll also need a generous pinch of salt to bring out the flavors here; our tip? Have some extra crusty bread on hand for tasting (and tasting... and tasting...).

Pull it all together

To start the bouillabaisse, simmer the saffron threads in oil to bring out the aroma. It's hard to measure saffron, so just pinch out several threads between your fingers — a little bit goes a long way. Use the reserved parts of the fennel and leek you saved from the broth and sauté them with the garlic and shallot. This time around, slice everything finely so the end result can be spooned easily, with no large chunks (it's a good time to practice chiffonading and julienning).

Start building that characteristically bright, citrusy flavor by splashing in some Pernod, lemon, and orange. The small amount of Pernod will reduce quickly, and once it does, add the tomatoes and potatoes and cover with fish broth. Boil until the potatoes are tender.

Add the fish

This will sound like a weird recommendation, but we promise it's worth doing: Taste the soup now, before adding any fish. It's okay, right? But it's awfully citrusy, maybe even a little bland. Remember that.

Pile in the clams, cod, perch, seabass, and any thick or shelled fish you're using and cover the pot. Simmer the fish until flaky and opaque and steam the clams until they open (some may not open, but if the majority are still closed, give it a minute). Add the shrimp and cook for just a few minutes, until curled and pink. Then, drop in a few spoonfuls of rouille and a sprinkling of salt.

Taste the soup again. Totally different, right? Even without the rouille, the broth transforms with the fish, becoming richer, more savory, and much more delicious. Let it sit for twenty minutes longer, and the broth transforms again. Yes, the salt makes a difference, but a lot of what you're tasting is purely fish.

Serve the bouillabaisse

Even serving bouillabaisse is a technique on its own. In Marseilles, they may serve you a soup with fish separately, giving you the choice to eat them side by side or together. In this version, the soup is served with fish already part of the broth (sorry, no choices here). No matter what, though, the rouille is served with bread to spread it on, ultimately dipped into the bright broth.

Besides enjoying bouillabaisse with crisp white wine and crusty bread, you can serve your soup alongside a tartine with sardines or a roasted vegetable like eggplant.

Classic French Bouillabaisse Recipe
5 from 50 ratings
Don't let the name (or the long ingredient list) stop you from making this delicious and classic French bouillabaisse recipe. It's surprisingly easy to make.
Prep Time
Cook Time
close up shrimp in bouillabaisse
Total time: 1 hour, 40 minutes
  • Fish Broth
  • 2 tablespoons extra-virgin olive oil
  • 4 large cloves garlic, with skin
  • 1 small onion, halved, with skin
  • Stalks from 1 fennel bulb, roughly chopped
  • Green part of 2 leeks, roughly chopped
  • 2 leafy celery stalks, roughly chopped
  • 1 pound shrimp shells
  • 4 bay leaves
  • 1 teaspoon black peppercorns
  • 1 piece orange zest
  • ½ cup clam juice
  • 10 cups water
  • Fish bones, including head, tail, and spine of 1 fish
  • Rouille
  • ¼ cup breadcrumbs
  • 7 ounces roasted red pepper, or about 1 roasted red bell pepper
  • 1 large garlic clove, peeled and sliced
  • 1 egg yolk
  • Juice from ½ lemon
  • 1 pinch saffron threads
  • ¼ cup extra-virgin olive oil
  • Salt and pepper, to taste
  • Bouillabaisse
  • 2 tablespoons extra-virgin olive oil
  • 1 generous pinch saffron threads
  • 1 shallot, finely chopped
  • 3 large garlic cloves, minced
  • 1 fennel bulb, sliced into strips
  • White part of 1 leek, sliced into rings
  • ¼ cup Pernod
  • Juice from ½ lemon
  • 1 small piece orange zest
  • 2 bay leaves
  • 1 pound gold potatoes, peeled and diced
  • 3 Roma tomatoes, diced
  • 1 recipe fish broth
  • 12 littleneck clams
  • 1 large filet of cod, cut into large chunks
  • 2 filets perch, cut into small chunks
  • 2 filets sea bass, cut into small chunks
  • ½ pound jumbo shrimp, peeled and deveined
  • Salt and pepper, to taste
  • 3 tablespoons rouille
Optional Ingredients
  • Crusty bread, for serving
  • Fennel fronds, for topping
  1. For the fish broth, heat the oil in a large pot over medium heat. Add the garlic, onion, leeks, celery, and shrimp shells and cook until the vegetables are beginning to soften and the shrimp shells turn pink, about 5 minutes.
  2. Add the bay leaves, peppercorns, orange zest, and clam juice. Stir and bring to a simmer.
  3. Add the water and stir, then bring the pot to a boil. Add the fish bones and boil steadily for 30 minutes, or up to an hour.
  4. Strain the solids from the broth.
  5. For the rouille, combine all the ingredients but the olive oil in a food processor and pulse until blended into a paste. Drizzle the olive oil in as you blend until a smooth paste is formed. Season as needed with salt and pepper.
  6. For the bouillabaisse, heat the oil in a large pot over medium heat. Add saffron threads and cook gently for 2 minutes. Add the shallot, garlic, fennel, and leek, and cook until soft and fragrant. Leeks will turn bright green.
  7. Add the Pernod, lemon, and orange zest and reduce the liquid by half, about 1-2 minutes.
  8. Add the bay leaves, potatoes, and tomatoes, and cover with the fish broth. Bring the pot to a boil and cook until the potatoes are soft, about 10-15 minutes, stirring occasionally.
  9. Once the potatoes are soft, add the fish and clams (but not the shrimp), and cover. Cook until the fish is flaky and most of the clams have opened, about 5 minutes. Add the shrimp and cover, cooking until the shrimp is opaque and curled, about 1-2 minutes longer.
  10. Stir in the rouille, then season to taste. Before serving, remove the orange peel and bay leaves.
  11. Serve with a sprinkling of fennel fronds and crusty bread. Serve rouille alongside the bouillabaisse in a small bowl and spread on the sliced bread to eat.
Rate this recipe