Soups & Stews
This San Francisco-style cioppino soup recipe delivers the bold, briny flavors of a North Beach waterfront restaurant, with layers of sausage, seafood, and aromatic broth that simmer into perfect harmony.
The secret lies in building depth through slow cooking—browning Italian sausage first to create a rich foundation, then layering tomatoes, garlic, and white wine before adding delicate shellfish and fish.
I’ve perfected this technique over years of testing, ensuring every bite balances hearty meat with tender seafood and a sauce that’s both rustic and refined.
The recipe begins with a 30-minute prep that transforms simple ingredients into a restaurant-worthy stew. You’ll start by browning sausage and onions until deeply caramelized, then deglaze with white wine to dissolve those flavorful browned bits.
Tomatoes and herbs infuse the broth while it simmers, creating a base that’s both savory and bright. The key moment comes when you add the seafood—clams, mussels, shrimp, and cod—each poaching just long enough to stay tender yet absorb the rich flavors around them.
By the time you serve this cioppino, you’ll have a steaming bowl of perfectly balanced seafood stew with crisp shellfish, flaky fish, and a sauce thick enough to coat every spoonful. The aroma alone—garlicky, wine-infused, with a hint of bay leaf—will have everyone gathered at the table.
Serve with crusty bread to soak up every last drop of that golden broth, and you’ll understand why this dish has been a San Francisco staple for generations.
For those who love tradition, stick to the classic combination of tomatoes, white wine, and fresh herbs. But if you’re feeling adventurous, try adding a splash of fish stock or a handful of fresh basil at the end for an extra layer of brightness.
The beauty of cioppino is its flexibility—whether you use the freshest market seafood or a mix of frozen, the technique ensures restaurant-quality results every time.
Ingredients for cioppino soup
Pantry staples meet North Beach flavors—simple ingredients for a restaurant-worthy seafood stew.
| Ingredient | Amount | Notes |
|---|---|---|
| Italian Sweet Sausage 🌭 | 1 lb | Mild or spicy, casings removed |
| Yellow Onion 🧅 | 1 whole | Diced, about 1.5 cups |
| Garlic Cloves 🧄 | 6 cloves | Minced, fresh preferred |
| Canned San Marzano Tomatoes 🍅 | 28 oz | Crushed, high-quality preferred |
| Dry White Wine 🍷 | ½ cup | Sauvignon Blanc or Pinot Grigio |
| Fish or Seafood Stock 🦞 | 2 cups | Homemade or quality store-bought |
| Fresh Bay Leaves 🌿 | 2 whole | For authentic flavor |
| Fresh Parsley 🌿 | ¼ cup | Chopped, stems removed |
| Fresh Dill 🌿 | ⅛ cup | Chopped, optional but recommended |
| Clams 🦪 | 1 lb | Fresh or frozen, cleaned |
| Mussels 🦪 | 1 lb | Fresh or frozen, debearded |
| Shrimp 🦐 | ½ lb | Peeled, deveined, tail-on |
| Cod Fillets 🐟 | ½ lb | Cut into 1-inch pieces |
| Extra-Virgin Olive Oil 🫒 | 2 tbsp | For browning sausage |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Red Pepper Flakes 🌶️ | ¼ tsp | Optional, for heat |
The sausage is your flavor anchor—Italian sweet sausage from the deli counter at Whole Foods or Trader Joe's works best. Look for good marbling and bright color. If you can't find San Marzano tomatoes, any high-quality crushed tomatoes will do—just taste first. The seafood matters too: fresh is ideal, but frozen works in a pinch (thaw in cold water). For the wine, anything dry and crisp—Sauvignon Blanc or Pinot Grigio—but don't use cooking wine. The fish stock? Homemade is best, but Knorr or Pacific Foods brands are solid shortcuts.
No white wine? Substitute extra fish stock with a splash of lemon juice. Fresh herbs are ideal, but dried parsley at one-third the amount gets you close. Short on cod? Halibut or monkfish work just as well. The clams and mussels should be fresh—if they smell fishy or are open before cooking, toss them. For extra depth, add 1/2 cup of chopped fresh basil at the end. And trust me on the bay leaves—they're non-negotiable for that classic cioppino aroma. If you're using frozen seafood, don't thaw it completely before adding to the pot.
This reheats beautifully—just warm through gently on the stove. Keeps 3-4 days in the fridge, freezes for 2 months. I always make a double batch because it's that good. Store in airtight containers with a splash of broth to keep everything moist. The seafood will stay tender if you reheat it gently—no microwaving! Serve with crusty bread to soak up every last drop of that golden broth.
Why You'll Love This Recipe
- Here’s what sold me: that splash of dry white wine doesn’t just deglaze—it transforms. The acid brightens the San Marzano tomatoes, cuts through the richness of the sausage, and leaves you with a broth that tastes like a proper Italian trattoria, not a canned shortcut.
- I’ll be real: most soups turn into sad, watery meals the next day. Not this one. The sausage stays juicy, the tomatoes deepen in flavor, and the wine’s edge mellows into something even richer. I freeze portions too—just thaw and reheat for a lazy Tuesday night. (Yes, even on a Tuesday night.)
Step-by-step instructions for San Francisco-style cioppino soup
Here's the method that delivers restaurant-quality cioppino every time—rich, briny, and perfectly balanced.
Brown the Italian Sweet Sausage
Heat the 2 tablespoons extra-virgin olive oil in a large Dutch oven over medium-high heat. Add the 1 pound Italian sweet sausage, breaking it into large chunks as you add them. Let the sausage brown undisturbed for 3-4 minutes until deeply golden on all sides—this builds incredible flavor.
Use a wooden spoon to break up the sausage as it cooks, but don't overcrowd the pan. You want those crispy edges that'll infuse the entire soup. Once the sausage is nicely browned and cooked through, remove it with a slotted spoon and set it aside on a plate. Keep the Dutch oven on the heat for the next step.
Build the Flavor Base
Add the 1 whole yellow onion (diced) to the Dutch oven and cook for 4-5 minutes until softened and starting to caramelize. Stir in the 6 cloves minced garlic and cook for 30 seconds until fragrant—don't let it burn, as garlic turns bitter quickly.
Pour in the 0.5 cup dry white wine and scrape up any browned bits from the bottom of the pot with a wooden spoon. This deglazing step captures all those meaty flavors. Let the wine simmer for 2-3 minutes until it reduces by half, creating a rich foundation for the soup.
Simmer the Tomato and Stock Base
Add the 28 ounces crushed canned San Marzano tomatoes, 2 cups fish or seafood stock, 1.5 teaspoons salt, 0.5 teaspoon black pepper, and 0.25 teaspoon red pepper flakes (if using). Stir well to combine, then add the 2 whole fresh bay leaves. Bring the mixture to a gentle boil, then reduce heat to medium-low and let it simmer uncovered for 15 minutes.
This simmering time allows the flavors to meld together. You'll notice the soup thickens slightly and develops a deeper, more complex aroma. If the liquid reduces too much, add a splash of water or stock to maintain the proper consistency for the seafood addition.
Add the Seafood and Finish
Return the browned sausage to the pot and stir to combine. Add the 1 pound clams and 1 pound mussels, making sure they're all covered by the liquid. Cover the Dutch oven and cook for 5-6 minutes until the clams and mussels open. Discard any that remain closed after this time.
Add the 0.5 pound shrimp and 0.5 pound cod fillets (cut into 1-inch pieces) to the pot. Cook uncovered for 3-4 minutes until the shrimp turns pink and the cod is just cooked through. The seafood should be tender but still hold its shape—overcooking will make it rubbery.
Garnish and Serve
Remove the pot from heat and stir in the 0.25 cup chopped fresh parsley and 0.125 cup chopped fresh dill. Taste and adjust seasoning if needed—cioppino should be rich but not overly salty. Ladle the soup into bowls, making sure each serving gets a good portion of seafood and sausage.
Serve immediately with crusty bread for dipping. The soup should be steaming hot, with the seafood perfectly cooked and the sausage adding a satisfying meaty contrast. Each spoonful should deliver that perfect balance of briny seafood, rich tomato base, and herby freshness.
Pro Tips For Making Cioppino Soup
- Brown the Sausage Properly: DESCRIPTION: Don’t just toss in sliced sausage—sear it in batches over medium-high heat until the edges crisp and release their fat. I used to rush this, and the soup ended up tasting like undercooked pork. Let it sizzle for 3-4 minutes per batch, stirring occasionally, so the casings caramelize. That’s where the flavor lives.
- Sweat Onions Low and Slow: DESCRIPTION: Skip the high heat—onions burn faster than you think. Cook them on medium-low with a pinch of salt until they’re translucent and just starting to soften, about 8-10 minutes. This avoids that bitter, burnt-on taste that ruins the whole dish. Patience here makes a real difference.
- Deglaze with Wine Immediately: DESCRIPTION: As soon as you remove the sausage, pour in that dry white wine and scrape up every last bit of browned bits from the pot. Let it simmer for 2-3 minutes to cook off the alcohol—no need to rush. That’s the foundation of your sauce, and skipping it means flavorless soup. (Yes, even if you’re impatient like me.)
- Crush Tomatoes by Hand: DESCRIPTION: Drain the San Marzano tomatoes but don’t skip crushing them with your hands or a wooden spoon. The natural juices and texture blend better into the soup, giving it a richer body. Canned tomatoes can be watery—this step thickens them up naturally. (I know, I know—it’s an extra 30 seconds, but trust the process.)
Storing and reheating your leftovers
Refrigerator Storage
Cioppino reheats beautifully, but proper storage is key to maintaining its rich flavors and tender seafood. Let the soup cool to room temperature (about 30-45 minutes), then transfer to airtight containers—I prefer glass Pyrex with snap-on lids for even heating later.
Store in the fridge at 40°F or below for up to 4 days, though I find it tastes best within 2-3 days when the flavors meld perfectly. 🥫
Freezer Prep Tips
For longer storage, freeze cioppino in quart-sized freezer bags (leave 1-inch headspace for expansion) or glass containers with tight lids. I recommend freezing portions separately so you can thaw just what you need.
Label with the date—this soup keeps its quality for up to 2 months in the freezer. The seafood stays tender if you freeze it properly, though texture may slightly change after thawing.
Thawing Methods
Never thaw cioppino at room temperature—always use the fridge overnight for best results. If you're short on time, place the sealed container in cold water and change the water every 30 minutes until thawed.
Avoid microwave thawing as it can make the seafood rubbery. Once thawed, bring to a gentle simmer for 5-10 minutes to refresh the flavors.
Stovetop Reheating
My preferred method is stovetop reheating—it preserves the soup's texture and depth of flavor. Transfer cioppino to a pot over medium-low heat and warm gently, stirring occasionally. Add 1-2 tablespoons water or fish stock if it looks too thick.
Cook for 8-10 minutes until steaming hot, being careful not to overheat the seafood. Taste and adjust seasoning—cioppino often needs a pinch more salt after reheating. 🔥
Microwave Safety
If using a microwave, transfer soup to a microwave-safe bowl and cover loosely with a microwave-safe lid or damp paper towel. Heat on 50% power in 1-minute intervals, stirring between each, until reaching 165°F internal temperature.
This gentle approach prevents overcooking the seafood. For best results, finish with a quick stir on the stovetop to even out the heat.
Serving Leftovers
Cioppino reheated properly makes an even more comforting second meal. Serve with fresh crusty bread to soak up the rich broth. For extra brightness, add a sprinkle of fresh parsley or a squeeze of lemon juice before serving.
The flavors actually improve after reheating as the spices meld further, making leftovers taste even better than the first serving! ✨
Nutrition facts
Frequently asked questions
Can I make cioppino without white wine?
Yes! Skip the wine and use ½ cup extra fish stock plus 1 tablespoon lemon juice for brightness. The acidity helps balance the richness, though wine adds depth that's hard to replicate. For a non-alcoholic version, try apple cider vinegar at the same ratio.
How do I know when clams and mussels are done?
They're ready when they open completely. Discard any that stay closed after 5-6 minutes of cooking—they're bad. Also, check for shells that pop open slightly when tapped with a spoon, which means they're steaming and fully cooked.
What seafood can I substitute if I can't find cod or shrimp?
Use halibut, mahi-mahi, or scallops instead of cod, and squid or calamari for shrimp. For budget options, try tilapia or pollock. Just adjust cooking times—scallops need only 2 minutes while fish fillets may require 5 minutes to stay tender.
Why does my cioppino taste too salty?
Most likely, the seafood stock or canned tomatoes were already salty. Next time, use low-sodium stock and reduce salt to 1 teaspoon. If it's already made, dilute with ½ cup extra water or broth and simmer for 5 minutes to balance flavors. Taste before serving!
Can I make cioppino in a slow cooker?
Brown sausage and onions first, then transfer everything to the slow cooker. Cook on low for 4-5 hours instead of simmering. Add seafood only in the last 15 minutes to prevent overcooking. The slow cooker method works especially well for large batches.
