Cioppino — San Francisco Seafood Stew
Created by Italian immigrants fishing the San Francisco Bay, cioppino is the original "what's in the boat" stew — a rich, wine-braised tomato broth loaded with whatever seafood is freshest. Clams, mussels, shrimp, crab, fish — all of it, with a mountain of crusty bread to soak up every drop.
↓ Jump to Recipe
The base of cioppino is a soffritto of fennel, onion, and garlic cooked slowly in olive oil until sweet and melting, then built up with white wine, crushed tomatoes, and fish stock into a deeply flavored broth. The seafood goes in last, in order of how long it takes to cook — shellfish first, delicate fish last. The whole thing takes under an hour.
The key rule: don't overcook the seafood. Shrimp should be just pink, clams and mussels should just open, fish should flake with gentle pressure. Overcooked seafood in a beautiful broth is still a sad meal. Watch the pot, taste as you go, and pull it off the heat the moment everything is done.
Ingredients
- 500g (1 lb) littleneck clams, scrubbed
- 500g (1 lb) mussels, scrubbed and debearded
- 300g (10 oz) large shrimp, peeled
- 300g (10 oz) firm white fish (halibut, cod, or rockfish), cut into chunks
- 1 fennel bulb, thinly sliced, fronds reserved
- 1 large onion, diced
- 6 garlic cloves, minced
- 1 tsp red pepper flakes
- 1 can (800g) whole San Marzano tomatoes, crushed by hand
- 240ml (1 cup) dry white wine
- 480ml (2 cups) seafood or fish stock
- 4 tbsp olive oil
- Fresh basil and parsley, to finish
- Crusty sourdough, to serve
Instructions
- Build the soffritto. Heat olive oil in a large Dutch oven over medium heat. Add fennel and onion. Cook slowly, stirring occasionally, for 10–12 minutes until very soft and slightly golden. Add garlic and red pepper flakes, cook 2 more minutes.
- Add tomatoes and wine. Pour in wine and let it reduce by half, about 3 minutes. Add crushed tomatoes and fish stock. Season with salt. Bring to a simmer and cook 20 minutes, stirring occasionally, until the broth is rich and slightly thickened.
- Add clams. Add the clams to the broth. Cover and cook 5 minutes.
- Add mussels. Add mussels, cover, and cook 3–4 more minutes until clams and mussels open. Discard any that don't open.
- Add shrimp and fish. Add shrimp and fish chunks. Simmer uncovered 3–4 minutes until shrimp are pink and fish flakes easily. Do not overcook.
- Finish and serve. Taste broth and adjust seasoning. Scatter fresh basil, parsley, and fennel fronds over the top. Ladle into wide, deep bowls. Serve immediately with thick slices of grilled or toasted sourdough for dipping.
Chef's Pro Tips
- Make the base (through step 2) up to 2 days ahead. Refrigerate. Reheat and add seafood just before serving.
- Use whatever seafood is freshest at your market — crab legs, lobster tails, or squid all work beautifully.
- San Marzano tomatoes make a noticeable difference in flavor. They're sweeter and less acidic than generic crushed tomatoes.
- Serve with rouille (garlic-saffron mayonnaise spread on the bread) for the full San Francisco experience.