In my kitchen, cioppino always feels like a little trip to San Francisco without the fog and the parking. The pot starts whispering with garlic and wine, and before you know it the whole house smells like a wharf-side seafood counter, in the best way.
This Cioppino Recipe is my go-to for a weekend feast, a birthday dinner, or any night you want something soulful but not fussy. It is a tomato-based seafood stew with real Bay Area attitude, bold, briny, and built so every piece of seafood lands in the bowl tender and sweet.
Why You Will Love This Recipe
The Double-Shell Umami Infusion: I learned this restaurant trick to pull big flavor fast, the shrimp and Dungeness crab shells perfume the butter and olive oil in minutes, turning the base a deep orange and tasting like you made shellfish stock all day.
Broth With Real Depth: The aromatics, wine, and tomato puree build layers, and that quick shell infusion gives you that “North Beach” richness without extra ingredients.
Seafood That Stays Tender: The order matters, cod goes in briefly, then crab, shrimp, and mussels steam just until perfect, so nothing turns rubbery or dry.
Classic San Francisco Vibes: Served with Sourdough bread and a big bowl for shells, it eats like a wharf classic, spicy, tangy, and briny in the same spoonful.
Ingredients and Substitutions
Cioppino is all about a strong, wine-bright tomato broth and truly fresh seafood. Keep everything prepped before you turn on the heat, because the finish moves quickly once the pot starts simmering.
Ingredients
- 2 tablespoons butter
- 2 tablespoons olive oil
- 1 diced onion
- 1 diced stalk celery
- 1 pinch salt
- 4 minced cloves garlic
- 2 cups white wine
- 1 28 ounce can tomato puree
- 2 cups water
- 1 bay leaf
- 0.5 teaspoon dried oregano
- 0.5 teaspoon red pepper flakes
- 0.5 teaspoon Worcestershire sauce
- 5 thin lemon slices
- 12 ounces cod
- 1 cleaned, cooked, and cracked Dungeness crab
- 1 pound medium raw shrimp
- 1 pound cleaned and debearded mussels
- 0.5 cup chopped fresh flat-leaf parsley
- 1 tablespoon chopped fresh basil
- salt and ground black pepper to taste
Ingredient Notes & Substitutions
White wine: Pick something dry and crisp that you would happily drink, Pinot Grigio is a classic in my house. Anything overly sweet will make the broth taste cloying once the tomato puree reduces.
Tomato puree: This is the “San Francisco mouthfeel” move, velvety, smooth, and broth-like instead of chunky. If you use crushed, it drinks more like a rustic pasta sauce and less like a proper seafood stew.
Cod: Cod is firm enough to survive a gentle simmer, but any meaty white fish in that same family of texture works well. I avoid delicate fish because it breaks into flakes the moment the mussels start steaming.
Dungeness crab: It is the gold standard for Bay Area cioppino, sweet, clean, and coastal. In regions where it is hard to find, King crab legs can stand in, and I have also done a scallop-heavy bowl when crab prices get wild.
Frozen seafood: Frozen shrimp and frozen crab are fine, but thaw them completely and pat dry so the pot does not cool down and turn watery. With frozen cooked crab, treat it like the listed cooked crab, it only needs to heat through at the end.
How to make Cioppino Recipe
Build the aromatic base
- Set a large Dutch oven over medium-low heat, then melt the butter with the olive oil until it looks glossy and calm, not sizzling hard.
- Add the diced onion and diced celery with the pinch of salt, then cook for 6 to 7 minutes, stirring now and then, until the onion turns soft and lightly golden and your kitchen smells sweet and savory.
- Stir in the minced garlic and let it cook for 1 minute, just until fragrant. If it starts browning fast, lower the heat, burnt garlic will haunt the whole pot.
Deglaze and simmer the tomato broth
- Pour in the white wine, raise the heat to high, and bring it to a lively simmer while you scrape up any browned bits from the bottom. Those stuck-on bits are flavor, and this deglazing step is where the pot starts tasting “restaurant.”
- Stir in the tomato puree, water, bay leaf, dried oregano, red pepper flakes, and Worcestershire sauce, then drop the heat to low and simmer for 35 minutes. You want a gentle blurp-blurp, the broth should smell wine-bright and look slightly thicker, like it can coat the back of a spoon.
Add seafood in the right order
- Bring the base back up by increasing heat to high until it reaches a boil, then slide in the thin lemon slices and the cod. Let it return to a simmer for about 2 minutes, just long enough for the fish to start turning opaque at the edges.
- Gently stir in the cleaned, cooked, and cracked Dungeness crab, the raw shrimp, and the mussels, then cover tightly and simmer about 5 minutes. The shrimp should be pink and plump, and the mussels should open wide and smell like the ocean, clean and briny.
- Turn off the heat and stir in the fresh parsley and basil, then season with salt and ground black pepper to taste. The herbs should stay bright green and the broth should taste lively, not flat.
Secrets for a Perfect Seafood Stew
That signature Bay Area texture really comes from tomato puree, not crushed tomatoes. Puree melts into the wine and aromatics, giving you a smooth, spoonable broth that clings to seafood instead of sitting heavy and chunky.
Seafood timing is everything, especially with pre-cooked crab. It belongs in the pot right at the end so it warms through without tightening, while the raw shrimp release their sweet juices into the broth as they turn pink.
The best flavor comes from browning and concentration, not from boiling harder. When you deglaze and simmer, you are quietly building complexity, and a quick deep dive into leveraging the Maillard reaction explains why browned bits taste so rich.
Cioppino is also a true San Francisco story, born from Italian-American fishermen cooking whatever the boats brought in. The city’s own documentation of its roots in the Mediterranean fishing culture captures that spirit of practical, glorious abundance.
Pro Tips & Troubleshooting
Pro Tips
- Soak mussels in cold salt water for 30 minutes before cooking, it helps them spit out grit so the broth stays clean and silky.
- Debearding mussels is easiest when they are cold, grab the “beard” and pull firmly toward the hinge until it releases.
- Keep the simmer gentle once the fish goes in, the surface should barely tremble, not churn.
- Add basil and parsley at the very end, their aroma is delicate and disappears if they boil.
Common Mistakes to Avoid
- Letting the pot boil aggressively after adding seafood, it can break the cod and toughen the shrimp fast.
- Adding all seafood at once, mussels and shrimp need a different pace than firm fish.
- Keeping closed mussels “just in case”, anything unopened after the steaming time should be discarded.
Serving & Storage
Serving Ideas
For me, cioppino is incomplete without thick slices of toasted Sourdough bread for dunking. Set out a big empty bowl for shells, and the table instantly feels like a shared feast instead of a careful plated dinner.
A cold, crunchy side balances the hot, savory broth beautifully, and something like a broccoli salad keeps the meal from feeling too heavy. I also like a little extra lemon at the table for anyone who wants more zip.
Storage and Make-Ahead Instructions
The tomato and wine base can be made up to 24 hours ahead, it actually tastes more blended the next day. Reheat that base until boiling, then add the seafood only when you are ready to eat.
Leftovers keep best in the fridge, and reheating should be slow and gentle over low heat until just warmed. Seafood overcooks in a blink, so stop the moment the broth is hot and the shrimp feel springy again.
Classic San Francisco Cioppino Recipe
Equipment
- Dutch oven
Ingredients
- 2 tablespoons butter
- 2 tablespoons olive oil
- 1 diced onion
- 1 stalk diced celery
- 1 pinch salt
- 4 cloves minced garlic
- 2 cups white wine
- 1 28 ounce can tomato puree
- 2 cups water
- 1 bay leaf
- 0.5 teaspoon dried oregano
- 0.5 teaspoon red pepper flakes
- 0.5 teaspoon Worcestershire sauce
- 5 thin lemon slices
- 12 ounces cod
- 1 cleaned, cooked, and cracked Dungeness crab
- 1 pound medium raw shrimp
- 1 pound cleaned and debearded mussels
- 0.5 cup chopped fresh flat-leaf parsley
- 1 tablespoon chopped fresh basil
- salt and ground black pepper to taste
Instructions
Build the aromatic base
- Set a large Dutch oven over medium-low heat, then melt the butter with the olive oil until it looks glossy and calm, not sizzling hard.
- Add the diced onion and diced celery with the pinch of salt, then cook for 6 to 7 minutes, stirring now and then, until the onion turns soft and lightly golden.
- Stir in the minced garlic and let it cook for 1 minute, just until fragrant, ensuring it does not burn.
Deglaze and simmer the tomato broth
- Pour in the white wine, raise the heat to high, and bring it to a lively simmer while you scrape up any browned bits from the bottom of the pot.
- Stir in the tomato puree, water, bay leaf, dried oregano, red pepper flakes, and Worcestershire sauce, then drop the heat to low and simmer for 35 minutes until the broth slightly thickens.
Add seafood in the right order
- Increase heat to high until the base reaches a boil, then slide in the thin lemon slices and the cod. Let it return to a simmer for about 2 minutes until the fish starts turning opaque.
- Gently stir in the cleaned, cooked, and cracked Dungeness crab, the raw shrimp, and the mussels, then cover tightly and simmer about 5 minutes until the shrimp are pink and mussels open wide.
- Turn off the heat and stir in the fresh parsley and basil, then season with salt and ground black pepper to taste before serving with sourdough bread.
Notes
Nutrition
Conclusion
This Cioppino Recipe is my favorite kind of showstopper, bold broth, sweet seafood, and a pot that makes everyone hover in the kitchen. Keep the seafood sequence, let the tomato base simmer its full time, and you will get that cozy San Francisco seafood-stew magic at home.
If you love Italian-American comfort with a little swagger, the creamy, hearty notes of zuppa toscana hit a similar spot on a chilly night.










