San Francisco Seafood Cioppino with Crusty Sourdough

San Francisco Seafood Cioppino with Crusty Sourdough

The moment the wine hits the warm pot, it loosens the browned bits and the kitchen starts smelling like the beginning of a good seafood stew. I make San Francisco…

By Willow • • Reading time: 9 min
Tip: save now, cook later.

The moment the wine hits the warm pot, it loosens the browned bits and the kitchen starts smelling like the beginning of a good seafood stew. I make San Francisco seafood cioppino with crusty sourdough when I want a tomato-rich broth that feels generous without being complicated: first build the base, then let the seafood cook briefly in the simmering liquid.

Fennel gives the broth its gentle anise note, while clam juice and seafood stock make it taste briny and full without hiding the sweetness of the shrimp and mussels. I add the seafood in stages because each piece needs a different amount of time. The cod stays in tender chunks, the shrimp turn opaque, and the opened mussels make every bowl feel like a little feast, with warm sourdough ready for the last swipe of broth.

San Francisco seafood cioppino, briny tomato broth
“

Kitchen Note

Cut the cod into even 1-inch chunks before it goes into the pot. Pieces close in size cook at the same pace, so you’re less likely to have small bits flaking apart while larger ones finish.

Save this San Francisco seafood cioppino for a cozy bowl of briny tomato broth, tender seafood, and crusty sourdough for dipping.

Save to Pinterest

Why the Wine Goes In Before the Tomatoes

Wine does more here than add acidity. Once the onion and fennel have softened, the garlic, pepper flakes, and tomato paste get a brief turn in the pot; then the wine goes in while the pot is still hot. Scrape the bottom as it simmers, and those browned bits loosen into the broth instead of staying stuck to the Dutch oven.

Adding the tomatoes after that short wine simmer gives the base a chance to cook off some of the wine’s sharp edge before the liquid simmers uncovered. That matters in a seafood stew, where a heavy or harsh tomato taste can crowd out the seafood. Keep the later simmer gentle and uncovered, rather than rushing it at a boil. The stock, clam juice, and tomato then have time to come together before the delicate seafood goes in.

This order also makes the timing easier to manage. The broth has its own simmering time, and the seafood is added only once that base is ready, so it doesn’t sit in the pot cooking while the flavors develop.

How Fennel, Clam Juice, and Tomato Build Cioppino’s Broth

San Francisco seafood cioppino, sourdough dipping
  • Fennel and onion — Fennel brings a subtle anise flavor that belongs in this style of stew, while onion rounds out the base. Choose a firm fennel bulb; slice it thinly so it softens alongside the onion rather than staying crunchy.
  • Tomato paste and crushed tomatoes — The paste gives the broth a concentrated tomato backbone, and canned crushed tomatoes supply body. An ordinary can of crushed tomatoes works well here; there’s no need to use premium whole tomatoes and crush them yourself.
  • Dry white wine — A dry wine adds brightness without making the broth sweet. Use one you’d be comfortable drinking, but an expensive bottle won’t improve a pot that also has tomatoes and seafood stock.
  • Seafood stock and clam juice — Together, they give the broth its ocean-savory depth. If seafood stock isn’t available, use an equal amount of clam juice in its place for a brinier, more pronounced clam flavor.
  • Mussels, cod, and shrimp — The mix gives the stew several textures: mussels in their shells, flaky white fish, and springy shrimp. Buy fresh seafood from a source you trust, and keep the cod cut into even chunks so it cooks consistently.
  • Parsley and lemon juice — These go in at the end, where their fresh, bright notes lift the tomato broth. Fresh lemon juice tastes cleaner here than bottled juice.
  • Crusty sourdough — Its tang and sturdy crust make it a natural match for the broth. A crusty loaf from the bakery works; the point is a firm bread that can be dipped without immediately falling apart.

Build the Broth First, Then Cook the Seafood in Stages

Soften the onion and fennel

Warm the olive oil in a 6-quart Dutch oven over medium heat, then add the chopped onion and thinly sliced fennel. Stir occasionally as they cook for about 6 minutes. Look for softened vegetables, not browned edges; if the pot starts sizzling hard, lower the heat so the base softens evenly.

Cook the tomato paste and loosen the pot

Stir in the garlic, red pepper flakes, and tomato paste, and cook for 1 minute. Pour in the wine and let it simmer for 2 minutes, scraping up the browned bits from the bottom as you go. Keep scraping while the liquid bubbles gently, so those flavorful bits become part of the broth.

Let the tomato broth simmer

Add the crushed tomatoes, seafood stock, clam juice, bay leaf, oregano, salt, and black pepper. Bring the mixture to a simmer, then cook it uncovered over low heat for 15 minutes. You’re looking for small, steady bubbles rather than a rolling boil; aggressive boiling can reduce the liquid faster than intended.

Warm the sourdough while the broth cooks

While the broth simmers gently, heat the oven to 350°F. Set the sourdough loaf on a rimmed baking sheet and warm it for 10 minutes. The loaf should be warm through with a crust that feels crisp again, not dried out; serve it alongside the stew for dipping.

Add the seafood in two rounds

Add the mussels and cod to the simmering broth, cover, and cook for 4 minutes. Add the shrimp, cover again, and simmer for 3 to 5 minutes, until the shrimp are opaque, the cod reaches 145°F, and the mussels have opened. Discard any mussels that remain closed. Remove the bay leaf, stir in the parsley and lemon juice, and serve the cioppino hot.

Three Smart Changes for Different Tables

Make the serving bread gluten-free

Use a gluten-free crusty loaf instead of the sourdough. It keeps the same dunkable role, though the crumb may be more delicate; warm it according to its package directions so it doesn’t dry out.

Trade cod for halibut

Use firm halibut cut into 1-inch chunks in place of the cod. It has a slightly meatier texture and tends to cost more, but its firm flakes work well in the tomato broth; cook until the center reaches 145°F.

Turn up the pepper

For a livelier, spicier broth, use more red pepper flakes when you cook them with the garlic and tomato paste. The heat will come through more clearly against the tomatoes, so increase it in small steps rather than letting it overwhelm the seafood.

Storage and Reheating

  • Refrigerator: Store leftover cioppino in a covered container for up to 2 days. The seafood will soften a little as it sits in the broth.
  • Freezer: Freeze in an airtight container for up to 2 months. The broth holds up well, though the seafood and mussels may lose some tenderness after thawing.
  • Reheating: Warm gently in a covered saucepan until the leftovers reach 165°F. Avoid a hard boil, which can toughen the shrimp and fish.

Questions That Come Up When Making Cioppino

Can I make the broth ahead of time?+

Yes. Prepare the broth through its uncovered simmer, cool it promptly, and refrigerate it in a covered container. Bring it back to a simmer before adding the seafood so the fish and shellfish cook in hot broth rather than warming slowly.

Can I use frozen shrimp or cod?+

Yes, thaw the seafood in the refrigerator first and drain it well before cooking. Adding it frozen would cool the broth and make the timing less predictable, so start with thawed pieces.

How do I keep the cod from breaking apart in the stew?+

Use a gentle simmer and avoid stirring once the cod is in the pot. The chunks will be easier to serve intact if you lift them carefully with a wide spoon instead of turning them through the broth.

Can I make cioppino without mussels?+

You can leave them out, though the stew will lose the mussels’ briny flavor and shellfish texture. The clam juice still gives the broth a savory seafood note, so the cod and shrimp remain at home in the tomato base.

Can I use a pot smaller than 6 quarts?+

A smaller pot may not leave enough room for the broth and seafood to simmer without crowding. Use a pot with at least 6-quart capacity so the mussels, cod, and shrimp can sit in the broth under the lid.

San Francisco Seafood Cioppino with Crusty Sourdough

San Francisco seafood cioppino simmers mussels, cod, and shrimp in a tomato and white wine broth, then finishes with fresh parsley and lemon. Serve it hot with warmed crusty sourdough for dipping.
Prep Time 20 minutes
Cook Time 33 minutes
Total Time 53 minutes
Servings: 6 servings
Course: Dinner
Cuisine: American
Calories: 520

Ingredients
  

For the cioppino
  • 2 tbsp olive oil
  • 1 yellow onion medium, chopped
  • 1 fennel bulb medium, trimmed and thinly sliced
  • 4 cloves garlic minced
  • 0.25 tsp red pepper flakes
  • 2 tbsp tomato paste
  • 1 cup dry white wine
  • 1 can (28 oz) crushed tomatoes
  • 2 cups seafood stock
  • 1 bottle (8 oz) clam juice
  • 1 bay leaf
  • 1 tsp dried oregano
  • 0.5 tsp kosher salt
  • 0.25 tsp black pepper
  • 1.5 lb mussels scrubbed and debearded
  • 1 lb cod fillets cut into 1-inch chunks
  • 1 lb shrimp large, peeled and deveined
  • 0.25 cup fresh parsley chopped
  • 1 tbsp fresh lemon juice
For the sourdough
  • 1 loaf (16 oz) sourdough crusty

Equipment

  • 1 6-quart Dutch oven
  • 1 rimmed baking sheet

Method
 

Make the cioppino
  1. Heat the olive oil in a 6-quart Dutch oven over medium heat, then add the onion and fennel and cook, stirring occasionally, until softened, about 6 minutes.
  2. Stir in the garlic, red pepper flakes, and tomato paste and cook for 1 minute.
  3. Pour in the wine and simmer for 2 minutes, scraping up any browned bits from the pot.
  4. Add the crushed tomatoes, seafood stock, clam juice, bay leaf, oregano, salt, and pepper, then bring to a simmer and cook uncovered over low heat for 15 minutes.
Warm the sourdough
  1. While the broth simmers gently, heat the oven to 350°F, place the loaf on a rimmed baking sheet, and warm it for 10 minutes.
Cook the seafood
  1. Add the mussels and cod to the simmering broth, cover, and cook for 4 minutes.
  2. Add the shrimp, cover, and simmer for 3 to 5 minutes, until the shrimp are opaque, the cod reaches 145°F, and the mussels have opened; discard any mussels that remain closed.
  3. Remove the bay leaf, stir in the parsley and lemon juice, and serve hot with the warmed sourdough.

Notes

For tender seafood, add it only after the broth has simmered and avoid overcooking the shrimp. Refrigerate leftovers for up to 2 days; freezing is not recommended because the seafood texture can suffer. For a gluten-free option, serve with a gluten-free crusty loaf.
About the author
Willow

Leave a Comment

Recipe Rating