Quick Recipe Version (TL;DR)
Quick Ingredients
- 3 tbsp extra-virgin olive oil
- 1 medium fennel bulb, thinly sliced
- 1 medium yellow onion, finely chopped
- 5 garlic cloves, thinly sliced
- 1 tsp crushed red pepper flakes
- 2 tbsp tomato paste
- 1 cup dry white wine
- 1 can (28 oz) crushed tomatoes
- 3 cups seafood stock or clam juice + 1 cup water
- 2 bay leaves, 4 thyme sprigs
- 1 lb littleneck clams, scrubbed
- 1 lb mussels, scrubbed and debearded
- 1 lb firm white fish (cod or halibut), 1-inch pieces
- 1 lb large shrimp (16/20), peeled and deveined
- 2 tsp kosher salt, 1/2 tsp black pepper
- 1/4 cup chopped parsley, lemon wedges
- Optional: 2 tbsp unsalted butter
- To serve: 1 baguette, 2 tbsp olive oil, 1 garlic clove
Do This
- 1) Prep seafood: scrub clams and mussels; peel shrimp; cube fish; keep chilled.
- 2) Sauté fennel and onion in 3 tbsp oil (7–8 min). Add garlic, chili, and tomato paste; cook 2–3 min.
- 3) Deglaze with wine; simmer until reduced by half (2–3 min).
- 4) Add tomatoes, stock, water, bay, thyme, salt, pepper; simmer 20 minutes.
- 5) Add clams; cover and cook 6–8 minutes until most open.
- 6) Add mussels (2–3 min), then fish and shrimp (3–5 min) until just cooked. Discard any unopened shellfish.
- 7) Finish with parsley, lemon, and butter (optional). Toast oiled bread at 425°F for 5–7 minutes; rub with garlic. Serve.
Why You’ll Love This Recipe
- Classic San Francisco–style cioppino with a deep, balanced tomato–wine broth.
- Cooked in stages so every piece of seafood is perfectly tender, never overdone.
- Flexible and pantry-friendly: use cod or halibut, clam juice or seafood stock.
- Company-worthy presentation that comes together in about an hour.
Grocery List
- Produce: Fennel bulb, yellow onion, garlic, flat-leaf parsley, lemon
- Dairy: Unsalted butter (optional)
- Pantry: Extra-virgin olive oil, crushed red pepper flakes, tomato paste, crushed tomatoes (28 oz), dry white wine, seafood stock or clam juice, bay leaves, thyme, kosher salt, black pepper, sugar (optional), baguette
Full Ingredients
Seafood
- 1 lb littleneck clams, scrubbed
- 1 lb mussels, scrubbed and debearded
- 1 lb firm white fish (cod or halibut), cut into 1-inch pieces
- 1 lb large shrimp (16/20), peeled and deveined, tails on
- 1/2 tsp kosher salt and 1/4 tsp black pepper (to season fish and shrimp)
Broth Base
- 3 tbsp extra-virgin olive oil
- 1 medium fennel bulb, cored and thinly sliced (about 2 cups)
- 1 medium yellow onion, finely chopped
- 5 garlic cloves, thinly sliced
- 1 tsp crushed red pepper flakes
- 2 tbsp tomato paste
- 1 cup dry white wine
- 1 can (28 oz) crushed tomatoes
- 3 cups seafood stock or clam juice
- 1 cup water
- 2 bay leaves
- 4 fresh thyme sprigs (or 1 tsp dried thyme)
- 2 tsp kosher salt
- 1/2 tsp freshly ground black pepper
- 1/2 tsp granulated sugar (optional, to balance acidity)
Finish & Garnish
- 2 tbsp unsalted butter (optional, for richness)
- 1/4 cup chopped fresh flat-leaf parsley
- 1 tbsp chopped fennel fronds (optional)
- 1 lemon, cut into wedges
- 1 tbsp extra-virgin olive oil, for finishing
To Serve
- 1 crusty baguette or 6 thick slices country bread
- 2 tbsp olive oil (for brushing)
- 1 garlic clove, halved
- Pinch flaky sea salt (optional)

Step-by-Step Instructions
Step 1: Prep and purge the shellfish
Scrub clams and mussels under cold running water. Discard any with cracked shells. Place in a bowl of cold water with 2 tsp kosher salt and soak 20–30 minutes to help purge sand, then rinse and drain. Pull off any mussel beards. Keep seafood cold while you make the broth. Pat shrimp dry and season fish and shrimp with 1/2 tsp kosher salt and 1/4 tsp black pepper.
Step 2: Sweat the aromatics
Heat 3 tbsp olive oil in a large Dutch oven over medium heat. Add fennel and onion with a pinch of salt and cook, stirring occasionally, until softened and translucent, 7–8 minutes. Add garlic and crushed red pepper flakes; cook until fragrant, 30 seconds. Stir in tomato paste and cook 2–3 minutes to caramelize and deepen the color.
Step 3: Deglaze with wine
Pour in the white wine, scraping up any browned bits. Simmer until reduced by about half, 2–3 minutes.
Step 4: Build and simmer the tomato–wine broth
Add crushed tomatoes, seafood stock (or clam juice), water, bay leaves, thyme, 2 tsp kosher salt, 1/2 tsp black pepper, and sugar if using. Bring to a gentle boil, then reduce to a lively simmer. Partially cover and cook 20 minutes to meld flavors. Taste and adjust seasoning as needed.
Step 5: Cook the clams
Increase heat to medium-high. Add clams, cover, and cook 6–8 minutes, checking after 5 minutes and transferring opened clams to a bowl to prevent overcooking. Return the pot to a simmer.
Step 6: Add mussels, then fish and shrimp
Add mussels, cover, and cook 2–3 minutes until they start to open; transfer opened mussels to the bowl with clams. Reduce heat to medium-low. Gently slide in the fish and shrimp, stirring lightly to submerge without breaking the fish. Simmer until fish flakes easily and shrimp are pink and opaque, 3–5 minutes. Return clams and mussels (and accumulated juices) to the pot to warm through. Discard any shellfish that remain closed.
Step 7: Finish the stew
Remove bay leaves and thyme stems. Off the heat, stir in parsley, fennel fronds, and butter (if using) for a silky finish. Squeeze in 1–2 lemon wedges and drizzle with 1 tbsp extra-virgin olive oil. Taste and adjust salt, pepper, or chili flakes.
Step 8: Toast the bread and serve
Heat the oven to 425°F. Brush bread slices with 2 tbsp olive oil and bake on a sheet pan until golden, 5–7 minutes. Rub the hot toast with the cut side of a garlic clove and sprinkle with a pinch of flaky salt if desired. Ladle cioppino into warm bowls and serve with the crusty bread for dunking.
Pro Tips
- Stage the seafood: hard-shell clams first, then mussels, then delicate fish and shrimp last to keep everything perfectly cooked.
- Keep seafood cold and dry until it hits the pot; moisture on the surface can dilute seasoning and slow browning of aromatics.
- Taste the broth before adding seafood and make it slightly saltier than you want—the shellfish will release flavorful but slightly dilute juices.
- If your tomatoes are very acidic, a 1/2 tsp sugar or a pat of butter rounds the edges without making the stew sweet.
- Use a wide Dutch oven so shellfish sit in a shallow layer and open quickly and evenly.
Variations
- Saffron Twist: Bloom a big pinch of saffron in 2 tbsp hot stock for 5 minutes and stir into the simmering broth for perfume and golden hue.
- Spicier Calabrian Style: Replace red pepper flakes with 1–2 tsp chopped Calabrian chili paste.
- Crab Lover’s: Add 8–12 oz cooked Dungeness crab legs in Step 7 to warm through for an authentic San Francisco touch.
Storage & Make-Ahead
Make the tomato–wine broth (through Step 4) up to 2 days ahead; cool and refrigerate. Reheat to a simmer and proceed with Steps 5–7 right before serving. Cooked seafood is delicate and best eaten fresh; leftovers can be refrigerated up to 1 day and reheated gently over low heat until just hot. Toast bread just before serving for the best crunch.
Nutrition (per serving)
Approximate: 420 calories; 35 g protein; 20 g fat; 22 g carbohydrates; 3 g fiber; 1,000 mg sodium. Includes one slice of bread and optional finishing oil; values will vary with exact seafood and stock used.


Leave a Reply