I created a classic San Francisco cioppino where succulent crab, tender mussels and a lush tomato-wine broth fuse into a bowl that will linger in your imagination.

I’m obsessed with this classic cioppino because it tastes like the ocean in a bowl and refuses to be subtle. I love the way briny bites collide in a loud, tomato-rich broth, all steam and salt and heat.
I crave the sharp lift of dry white wine cutting through the richness, the sudden tenderness that makes every spoonful sing. But bright accents keep the whole thing honest.
Crusty bread for dunking is mandatory. Messy, loud, unapologetic stew that makes me want to eat with both hands now.
And I always go back for seconds until the bowl is shamefully empty.
Ingredients

- Olive oil: it’s the base, warms flavors and keeps things silky.
- Butter: adds richness and a mellow, cozy mouthfeel.
- Onion: sweet foundation, gives that classic stew backbone.
- Fennel: licorice hint, crisp texture if you leave some raw.
- Celery: subtle crunch and earthy green notes.
- Garlic: bright punch, makes the broth feel homey.
- Red pepper flakes: a little heat, wakes everything up.
- Oregano: herbal depth, kinda Mediterranean but not shouty.
- Thyme: grassy, pairs perfectly with fish and tomatoes.
- Bay leaves: background warmth, you’ll barely notice but it matters.
- Tomatoes: tangy body for the broth, keeps it saucy.
- White wine: acidity and brightness, cuts through richness.
- Seafood stock: true sea flavor, makes the stew honest.
- Mixed seafood: protein variety and different textures, pure comfort.
- Parsley and basil: fresh lift, don’t skip the herbs.
- Lemon wedges and crusty bread: acid and soak-up goodness.
Ingredient Quantities
- 3 tablespoons olive oil
- 2 tablespoons unsalted butter
- 1 large yellow onion, finely chopped
- 1 medium fennel bulb, fronds reserved, bulb chopped
- 2 celery stalks, chopped
- 6 garlic cloves, minced
- 1 teaspoon red pepper flakes, or to taste
- 1 teaspoon dried oregano
- 1 teaspoon dried thyme or 1 tablespoon fresh thyme leaves
- 2 bay leaves
- 1 28-ounce can crushed tomatoes
- 2 tablespoons tomato paste
- 1 1/2 cups dry white wine (Pinot Grigio or Sauvignon Blanc)
- 4 cups seafood stock or low-sodium fish broth, plus extra clam juice if desired
- 1 cup water (or more stock as needed)
- 1 teaspoon sugar (optional, to balance acidity)
- Salt and freshly ground black pepper, to taste
- 1 pound firm white fish (cod, halibut), cut into 1 1/2 inch chunks
- 8 ounces sea scallops, halved if large
- 1 pound large shrimp, peeled and deveined
- 1 pound mussels, scrubbed and debearded
- 1 pound littleneck clams, scrubbed
- 1 pound crab legs or lump crab meat, optional
- 1/2 cup chopped fresh flat-leaf parsley
- 2 tablespoons chopped fresh basil, optional
- 2 lemons, cut into wedges for serving
- Crusty bread for serving
How to Make this
1. Heat 3 tablespoons olive oil and 2 tablespoons butter in a large heavy pot over medium heat. Add the chopped onion, chopped fennel bulb (reserve fronds), and chopped celery. Cook, stirring occasionally, until soft and translucent about 8 to 10 minutes, don’t let them brown too much.
2. Stir in the minced garlic, 1 teaspoon red pepper flakes, 1 teaspoon dried oregano, 1 teaspoon dried thyme (or 1 tablespoon fresh), and 2 bay leaves. Cook 1 minute until fragrant, then add 2 tablespoons tomato paste and cook another 2 minutes to deepen the flavor.
3. Pour in 1 1/2 cups dry white wine to deglaze the pan, scraping up any browned bits. Let the wine reduce by about half, 3 to 4 minutes.
4. Add the 28-ounce can crushed tomatoes, 4 cups seafood stock (plus extra clam juice if you want more briny depth), and 1 cup water. Stir in 1 teaspoon sugar if the tomatoes taste too acidic. Bring to a gentle simmer, season with salt and pepper, and simmer uncovered for 15 to 20 minutes to let flavors marry.
5. Taste and adjust seasoning. If the broth seems too thick add more stock or water a little at a time. If you want a silkier finish stir in an extra tablespoon of butter now. Remove the bay leaves.
6. Add the firm white fish chunks and scallops first since they need a bit longer, gently nestle them into the broth. Simmer 3 to 4 minutes, then add the shrimp, mussels, and clams. Tuck crab legs or lump crab meat in last, since crab is already cooked and only needs warming.
7. Cover the pot and cook until the shellfish open and the shrimp are opaque, about 5 to 7 minutes. Discard any mussels or clams that do not open. Don’t overcook the fish or scallops or they’ll get rubbery.
8. Stir in 1/2 cup chopped fresh parsley and 2 tablespoons chopped basil if using. Taste again and finish with a squeeze of lemon juice from the wedges, more salt or pepper if needed. Sprinkle reserved fennel fronds on top for a fresh hit.
9. Ladle the cioppino into bowls with plenty of broth and seafood. Serve with lemon wedges and lots of crusty bread for dipping. A splash more olive oil or a pat of butter on each bowl is nice if you like it richer.
10. Tips and hacks: scrub and debeard mussels and clams well before cooking, give them a 20 minute soak in cold salted water if sandy. Add clam juice or a little extra stock instead of water for deeper flavor. Cook in batches if your pot is crowded so everything cooks evenly.
Equipment Needed
1. Large heavy pot or Dutch oven (6 to 8 quarts)
2. Chef’s knife
3. Cutting board
4. Wooden spoon or heatproof spatula
5. Measuring cups and spoons
6. Ladle
7. Colander or strainer (for draining/cleaning shellfish)
8. Tongs or long-handled spoon for handling seafood
FAQ
Classic Cioppino Seafood Stew Recipe Substitutions and Variations
- Olive oil: use grapeseed or canola oil if you want a neutral flavor and higher smoke point, or extra virgin olive oil for a greener taste if cooking on low heat.
- Dry white wine: swap with low-sodium seafood or chicken stock plus 1 tablespoon white wine vinegar or lemon juice to add brightness, or use dry vermouth for a similar aromatic hit.
- Seafood stock: substitute low-sodium chicken stock plus 1/2 cup clam juice, or use bottled clam or mussel broth if you can find it for a true ocean flavor.
- Firm white fish (cod/halibut): use monkfish, pollock, or even large scallops if you want fewer, meatier bites; for a non-fish option try firm tofu in smaller cubes but add clam juice so it still tastes briny.
Pro Tips
– Don’t crowd the pot. Cook the firmer fish and shellfish in a single layer with space between pieces so they cook evenly. If your pot looks stuffed, do two smaller batches rather than one giant pile.
– Keep an eye on timing, especially for scallops and shrimp. Remove from heat as soon as they’re just opaque. Overcooking makes them rubbery and ruins the texture.
– Boost the broth with a splash of clam juice or an extra cup of seafood stock instead of plain water. Also finish with a knob of butter or a splash of good olive oil for a silkier mouthfeel.
– Clean shellfish well and give clams a quick soak in cold salted water if sandy. Discard any mussels or clams that remain closed after cooking for safety.

Classic Cioppino Seafood Stew Recipe
I created a classic San Francisco cioppino where succulent crab, tender mussels and a lush tomato-wine broth fuse into a bowl that will linger in your imagination.
6
servings
530
kcal
Equipment: 1. Large heavy pot or Dutch oven (6 to 8 quarts)
2. Chef’s knife
3. Cutting board
4. Wooden spoon or heatproof spatula
5. Measuring cups and spoons
6. Ladle
7. Colander or strainer (for draining/cleaning shellfish)
8. Tongs or long-handled spoon for handling seafood
Ingredients
-
3 tablespoons olive oil
-
2 tablespoons unsalted butter
-
1 large yellow onion, finely chopped
-
1 medium fennel bulb, fronds reserved, bulb chopped
-
2 celery stalks, chopped
-
6 garlic cloves, minced
-
1 teaspoon red pepper flakes, or to taste
-
1 teaspoon dried oregano
-
1 teaspoon dried thyme or 1 tablespoon fresh thyme leaves
-
2 bay leaves
-
1 28-ounce can crushed tomatoes
-
2 tablespoons tomato paste
-
1 1/2 cups dry white wine (Pinot Grigio or Sauvignon Blanc)
-
4 cups seafood stock or low-sodium fish broth, plus extra clam juice if desired
-
1 cup water (or more stock as needed)
-
1 teaspoon sugar (optional, to balance acidity)
-
Salt and freshly ground black pepper, to taste
-
1 pound firm white fish (cod, halibut), cut into 1 1/2 inch chunks
-
8 ounces sea scallops, halved if large
-
1 pound large shrimp, peeled and deveined
-
1 pound mussels, scrubbed and debearded
-
1 pound littleneck clams, scrubbed
-
1 pound crab legs or lump crab meat, optional
-
1/2 cup chopped fresh flat-leaf parsley
-
2 tablespoons chopped fresh basil, optional
-
2 lemons, cut into wedges for serving
-
Crusty bread for serving
Directions
- Heat 3 tablespoons olive oil and 2 tablespoons butter in a large heavy pot over medium heat. Add the chopped onion, chopped fennel bulb (reserve fronds), and chopped celery. Cook, stirring occasionally, until soft and translucent about 8 to 10 minutes, don't let them brown too much.
- Stir in the minced garlic, 1 teaspoon red pepper flakes, 1 teaspoon dried oregano, 1 teaspoon dried thyme (or 1 tablespoon fresh), and 2 bay leaves. Cook 1 minute until fragrant, then add 2 tablespoons tomato paste and cook another 2 minutes to deepen the flavor.
- Pour in 1 1/2 cups dry white wine to deglaze the pan, scraping up any browned bits. Let the wine reduce by about half, 3 to 4 minutes.
- Add the 28-ounce can crushed tomatoes, 4 cups seafood stock (plus extra clam juice if you want more briny depth), and 1 cup water. Stir in 1 teaspoon sugar if the tomatoes taste too acidic. Bring to a gentle simmer, season with salt and pepper, and simmer uncovered for 15 to 20 minutes to let flavors marry.
- Taste and adjust seasoning. If the broth seems too thick add more stock or water a little at a time. If you want a silkier finish stir in an extra tablespoon of butter now. Remove the bay leaves.
- Add the firm white fish chunks and scallops first since they need a bit longer, gently nestle them into the broth. Simmer 3 to 4 minutes, then add the shrimp, mussels, and clams. Tuck crab legs or lump crab meat in last, since crab is already cooked and only needs warming.
- Cover the pot and cook until the shellfish open and the shrimp are opaque, about 5 to 7 minutes. Discard any mussels or clams that do not open. Don’t overcook the fish or scallops or they’ll get rubbery.
- Stir in 1/2 cup chopped fresh parsley and 2 tablespoons chopped basil if using. Taste again and finish with a squeeze of lemon juice from the wedges, more salt or pepper if needed. Sprinkle reserved fennel fronds on top for a fresh hit.
- Ladle the cioppino into bowls with plenty of broth and seafood. Serve with lemon wedges and lots of crusty bread for dipping. A splash more olive oil or a pat of butter on each bowl is nice if you like it richer.
- Tips and hacks: scrub and debeard mussels and clams well before cooking, give them a 20 minute soak in cold salted water if sandy. Add clam juice or a little extra stock instead of water for deeper flavor. Cook in batches if your pot is crowded so everything cooks evenly.
Notes
- Below you’ll find my best estimate of this recipe’s nutrition facts. Treat the numbers as a guide rather than a rule—great food should nourish both body and spirit. Figures are approximate, and the website owner assumes no liability for any inaccuracies in this recipe.
Nutrition Facts
- Serving Size: 400g
- Total number of serves: 6
- Calories: 530kcal
- Fat: 16g
- Saturated Fat: 5g
- Trans Fat: 0.1g
- Polyunsaturated: 1.7g
- Monounsaturated: 8.2g
- Cholesterol: 200mg
- Sodium: 800mg
- Potassium: 900mg
- Carbohydrates: 10g
- Fiber: 3g
- Sugar: 4g
- Protein: 50g
- Vitamin A: 1200IU
- Vitamin C: 20mg
- Calcium: 200mg
- Iron: 4mg













