Saute the aromatics. Heat the oil in a 6-quart Dutch oven or stockpot set over medium heat. Add the sliced fennel and shallots; cook for 6 minutes, stirring occasionally. Stir in the garlic, salt, and black pepper, and cook for 2 more minutes.
Stir in tomatoes and liquids. Add tomato paste and stir to combine. Stir in the diced tomatoes, seafood (or chicken) stock, and wine.
Simmer. Add the bay leaf, cover, and bring to a simmer. Then, reduce heat to medium-low and continue to simmer covered for 10 minutes.
Add the seafood. Remove the cover and add the clams and mussels; cover and cook for 4 minutes, or until the clams and mussels begin to open. Add the cod; cover and cook for 3 minutes. Add the shrimp and cook uncovered for 2 to 3 more minutes, or until cooked through. Stir occasionally.
Finish. Remove the cioppino from the heat. Taste it for salt and pepper and adjust accordingly. Discard any clams and mussels that didn’t open, and remove the bay leaf. Garnish with parsley and red pepper flakes.
Serve. Ladle the cioppino into bowls and serve with lemon wedges.
Notes
Frozen Seafood: If you can't find fresh fish and shellfish, use frozen. I have made this stew with frozen seafood, and it's really good! I don't even thaw it out; just add everything to the hot broth, and it will cook through in minutes.
Broth Flavor: Taste your broth as you cook and adjust the seasonings as necessary. If it's bland, add a little more salt.
Serving: Serve the Cioppino hot and with crusty bread on the side for dipping into the flavorful broth.
Wine Pairing: Pair the stew with a light, crisp white wine such as Sauvignon Blanc or Pinot Grigio to complement the rich flavors of the dish.
Seafood Varieties: Feel free to switch up the types of seafood based on what's fresh and available. Clams, crab, squid, or different types of fish can all work well.