Easy Homemade Fish Soup Recipe

This fish soup recipe features tender cod in a savory tomato and white wine broth. Simple, cozy, and ready in less than an hour for an easy weeknight dinner.

Fish soup is the kind of bowl I turn to when I want something light, brothy, and quick without giving up any flavor.

This fish soup recipe simmers tender chunks of cod in a tomato and white wine broth with carrots, celery, and potatoes, and it is on the table in under an hour.

The method is simple. You build a flavorful vegetable base, simmer it until the potatoes soften, and slide the fish in at the very end so it stays tender and flaky.

Before settling on this version, I compared several trusted recipe sources, and they all agree on the same core: a tomato broth, a handful of aromatic vegetables, firm white fish, and a very short cook time for the fish.

If you enjoy chunky seafood soups, you will also love my fish chowder for a creamy take on the same idea.

Quick Recipe Summary
Prep Time15 minutes
Cook Time35 minutes
Total Time50 minutes
Servings6 bowls
Difficulty LevelEasy
Fish Soup Recipe

Why You’ll Love This Fish Soup Recipe

This soup gives you big flavor from simple ingredients, and nothing about it feels fussy.

The broth is bright and savory, and the cod turns silky in just a few minutes.

  • It is ready in 50 minutes, which makes it a great weeknight dinner.
  • It cooks in one pot, so cleanup is quick.
  • It uses everyday vegetables and a pantry staple like canned tomatoes.
  • It is light but filling thanks to the potatoes and lean protein.
  • It works with almost any firm white fish, so it is easy to adapt to what you find at the store.

You might also enjoy: Salmon Soup

Ingredients

Everything in this pot is simple to find, and a few smart choices, like good stock and fresh fish, make the biggest difference.

If you love a tomato and wine broth like this one, my cioppino soup is another bowl worth trying.

  • 2 tablespoons extra virgin olive oil
  • 1 large yellow onion, diced
  • 2 medium carrots, peeled and diced
  • 2 celery ribs, diced
  • 4 garlic cloves, minced
  • 2 tablespoons tomato paste
  • 1 teaspoon dried thyme
  • 1/2 teaspoon smoked paprika
  • 1/4 teaspoon red pepper flakes
  • 1/2 cup dry white wine
  • 1 can (14.5 ounces) diced tomatoes, undrained
  • 4 cups fish stock or low-sodium chicken broth
  • 1 pound Yukon Gold potatoes, cut into 3/4-inch cubes
  • 2 bay leaves
  • 1 1/2 pounds firm white cod fillets, cut into 1 1/2-inch chunks
  • 1 teaspoon kosher salt, divided
  • 1/2 teaspoon black pepper, divided
  • 1/4 cup fresh parsley, chopped
  • 1 lemon, juiced

Kitchen Equipment Needed

You do not need anything fancy for this soup, but a heavy pot and a good thermometer make the cooking more forgiving.

Here is what I reach for every time.

Another favorite: Seafood Chowder

Recommended Products for This Recipe

These are my personal recommendations based on years of making soups like this one at home.

Each one solves a real problem, from uneven heat to overcooked fish.

1. Le Creuset Enameled Cast Iron Dutch Oven

I reach for this pot whenever I make a brothy soup because it holds steady heat and keeps the vegetables from scorching.

The enameled surface also will not react with the tomatoes and wine. It is an investment, but it lasts for decades.

Get it on Amazon

2. ThermoWorks Thermapen Instant Read Thermometer

Fish goes from perfect to dry in a minute, so I check the temperature instead of guessing.

This thermometer reads in seconds, which means you can pull the pot off the heat right when the cod hits 145°F. It takes the stress out of cooking seafood.

Get it on Amazon

3. Wild Caught Alaskan Cod Fillets

Good fish is the star here, and wild cod has a clean flavor and large, tender flakes.

If your local store does not carry fresh cod, individually frozen fillets are a reliable option.

Thaw them overnight in the fridge for the best texture.

Get it on Amazon

4. Kitchen Basics Seafood Stock

When I do not have time to simmer my own fish stock, this is the shortcut I trust.

It adds a gentle ocean flavor that plain chicken broth cannot match. Look for the unsalted style if you want to control the sodium.

Get it on Amazon

Want a creamy companion to this broth-style soup? Try my clam chowder next.

Fish Soup Recipe

Step-by-Step Instructions: How to Make Fish Soup

Read through all the steps once before you start, because the fish cooks very quickly at the end.

1. Prep the Vegetables and Fish

  • Dice the onion, carrots, and celery into small, even pieces so they soften at the same pace.
  • Mince the garlic and set it aside in a small bowl so it is ready to go.
  • Peel the potatoes and cut them into 3/4-inch cubes, then keep them in a bowl of cold water until you need them so they do not brown.
  • Pat the cod dry with paper towels and cut it into 1 1/2-inch chunks.
  • Season the cod with 1/2 teaspoon of the kosher salt and 1/4 teaspoon of the black pepper, then refrigerate it until the broth is ready.
  • Chop the parsley and juice the lemon so the finishing touches are within reach.

2. Sauté the Aromatic Vegetables

  • Set your Dutch oven over medium heat and add the olive oil.
  • When the oil shimmers, add the diced onion, carrots, and celery.
  • Cook for 6 to 8 minutes, stirring often, until the onion turns soft and translucent.
  • Do not let the vegetables brown. You want them tender and sweet, not caramelized.

3. Bloom the Garlic, Tomato Paste, and Spices

  • Push the vegetables to the sides of the pot and add the garlic in the center.
  • Stir in the tomato paste, dried thyme, smoked paprika, and red pepper flakes.
  • Cook for 1 to 2 minutes, stirring constantly, until the paste darkens slightly and smells fragrant.
  • This short step deepens the flavor of the whole broth, so do not skip it.

4. Deglaze with White Wine

  • Pour in the white wine and scrape the bottom of the pot with a wooden spoon to loosen any browned bits.
  • Simmer for about 2 minutes, until the wine reduces by about half and the sharp alcohol smell fades.

5. Build and Simmer the Broth

  • Add the diced tomatoes with their juices, the fish stock, the drained potatoes, and the bay leaves.
  • Stir everything together and raise the heat to bring the pot to a boil.
  • Reduce the heat to medium-low, partially cover the pot, and simmer for 15 to 20 minutes.
  • Test a potato cube with a fork. It should slide off easily but still hold its shape.
  • Stir in the remaining 1/2 teaspoon of kosher salt and the remaining 1/4 teaspoon of black pepper.

6. Add the Cod and Cook Gently

  • Lower the heat so the broth is barely bubbling.
  • Nestle the seasoned cod chunks into the broth in a single layer, pressing them under the liquid with a spoon.
  • Cover and cook for 5 to 7 minutes, until the fish turns opaque and flakes easily with a fork.
  • Check that the thickest piece reaches 145°F on an instant-read thermometer.
  • Stir gently, or not at all, so the fish stays in large, tender pieces.

7. Finish and Serve

  • Remove the pot from the heat and fish out the bay leaves.
  • Stir in the chopped parsley and the fresh lemon juice.
  • Taste the broth and add a tiny pinch more salt if it needs it.
  • Ladle the soup into warm bowls, making sure each serving gets plenty of fish, potatoes, and broth.

Read Also: Seafood Stew Recipe

Tips for The Best Fish Soup

A few small habits turn a good fish soup into a great one, and most of them come down to protecting the fish.

For a heartier bowl in the same style, my salmon chowder uses many of the same techniques.

  • Add the fish last. Fish needs only a few minutes, and overcooking makes it tough and dry.
  • Use a firm white fish like cod, halibut, haddock, or snapper so the chunks hold together.
  • Cut the fish into evenly sized pieces so everything finishes cooking at the same time.
  • Keep the broth at a gentle simmer once the fish goes in. A hard boil breaks the fish apart.
  • Season with salt in stages, because stock and canned tomatoes already contain sodium.
  • Finish with fresh lemon juice. The acidity brightens the whole pot.
  • Use low-sodium stock so you stay in control of the final seasoning.
  • Serve right away, since the fish keeps cooking in the hot broth.

Serving Suggestions

Fish Soup Recipe

This soup is a full meal on its own, but a few simple sides make it feel like a dinner party.

Crusty bread is the classic partner, and it is perfect for soaking up the last of the tomato broth.

  • Crusty baguette, sourdough, or garlic bread for dipping
  • Homemade croutons sprinkled over the top
  • Lemon wedges on the side for extra brightness
  • A crisp green salad with a simple vinaigrette
  • A little extra chopped parsley or a drizzle of olive oil
  • A chilled glass of dry white wine, the same style you cooked with

For a cozy side, try: Buttery Dinner Rolls

Variations of Fish Soup

Once you have the base down, this soup is easy to adjust to your pantry and your cravings.

If you want a richer seafood pot, I love adding shellfish and letting the broth do the work, much like in my shrimp bisque.

  • Add shrimp: Stir in 1/2 pound of peeled shrimp with the fish and cook until pink, about 3 minutes.
  • Add clams or mussels: Nestle in a pound of scrubbed clams or mussels and cook until the shells open.
  • Make it saffron-scented: Steep a pinch of saffron threads in the warm stock for a golden, aromatic broth.
  • Add fennel: Sauté one thinly sliced fennel bulb with the onions for a mild anise note.
  • Go bell pepper: Add one diced red bell pepper with the onion for a sweeter, Mediterranean feel.
  • Make it spicier: Double the red pepper flakes or add a splash of hot sauce at the end.
  • Add greens: Stir in a handful of baby spinach right after the fish for color and extra nutrition.
  • Go Mediterranean: Swap the thyme for 1 teaspoon each of cumin and coriander, and finish with fresh cilantro.

Storage and Reheating

Fish soup is best the day you make it, but leftovers keep well if you handle them gently.

Let the soup cool for about 30 minutes before storing it, and do not leave it out for more than 2 hours.

  • Refrigerator: Store in airtight glass containers for up to 2 to 3 days.
  • Freezer: Freeze for up to 3 months, though the potatoes may soften and the fish may flake more after thawing.
  • Best freezing method: Freeze the broth and vegetables without the fish, then add fresh fish when you reheat.
  • Thawing: Thaw overnight in the refrigerator before reheating.
  • Reheating: Warm the broth on the stove over medium-low heat, then add the fish for just a minute or two so it does not overcook.
  • Avoid the microwave for the fish: If you must use it, heat in short bursts at medium power and stir between each one.

Read Also: Cullen Skink Recipe

Nutritional Facts

Here is an approximate nutrition breakdown for one bowl, based on six servings and low-sodium stock.

For more cozy bowls to round out your week, browse my fall soup recipes.

  • Calories: about 245
  • Protein: about 22 g
  • Carbohydrates: about 22 g
  • Fat: about 6 g
  • Fiber: about 3 g
  • Sodium: about 650 mg

These numbers are estimates and will vary with the brands and fish you use.

Health Benefits of Key Ingredients

This soup packs lean protein, vegetables, and healthy fats into a light, warming bowl.

Fish is also a smart weeknight protein because it cooks fast and supports a balanced diet.

  • Cod: A lean, low-fat source of protein that also provides vitamin B12 and selenium.
  • Tomatoes: Rich in vitamin C and lycopene, a plant compound linked to heart health.
  • Carrots: A great source of beta carotene, which your body converts to vitamin A.
  • Celery: Adds fiber and hydration with very few calories.
  • Garlic: Contains sulfur compounds that have long been studied for their health benefits.
  • Olive oil: Provides monounsaturated fats that support heart health.
  • Potatoes: A good source of potassium and satisfying, slow-burning carbohydrates.

Another favorite: Baked Salmon

FAQs About Fish Soup

1. What is the best fish for fish soup?

Firm, mild white fish like cod, halibut, haddock, snapper, and sea bass work best because they hold their shape in the broth.

Salmon can work too, but its flavor is stronger and it changes the character of the soup.

For a similar broth-style bowl made with a different fish, try my fish sinigang.

2. Can I use frozen fish?

Yes, frozen fish works well if it is good quality. Thaw it overnight in the refrigerator and pat it very dry before seasoning.

If you add it still frozen, plan on a few extra minutes of cooking time and check for doneness before serving.

3. How do I know when the fish is cooked?

The fish should turn opaque and flake easily when pressed with a fork.

For certainty, check that the thickest piece reaches 145°F on an instant-read thermometer.

Remember that it keeps cooking in the hot broth, so take the pot off the heat as soon as it is done.

4. Can I make fish soup ahead of time?

You can make the broth with the potatoes up to 2 days ahead and keep it in the refrigerator.

Reheat it until gently simmering, then add the fresh fish and cook for 5 to 7 minutes.

This keeps the fish tender and gives you the best flavor and texture.

5. How do I make the soup thicker or thinner?

For a thicker, stew-like soup, use a little less stock or gently mash a few potato cubes against the side of the pot. For a lighter, brothier soup, stir in extra stock or water.

Add any extra liquid before the fish goes in so you do not break up the fillets.

Fish Soup Recipe

Fish Soup

Author: iamwinfred
245kcal
No ratings yet
Share Print Save
Prep 15 minutes
Cook 35 minutes
Total 50 minutes
This fish soup simmers tender chunks of cod in a bright tomato and white wine broth with carrots, celery, and potatoes. It’s light, brothy, and packed with flavor, yet it comes together in one pot in under an hour—perfect for a cozy weeknight dinner.
Servings 6 bowls
Course Main Course, Soup
Cuisine Mediterranean
Cost $18

Ingredients

Equipment

  • Large Dutch oven or heavy-bottomed stockpot heavy pot for steady heat
  • Sharp chef’s knife
  • Cutting board
  • Wooden spoon
  • Instant-read thermometer to check fish reaches 145°F
  • Ladle
  • Measuring cups and spoons
  • Fish spatula for gently stirring the fish

Method

  1. Dice the onion, carrots, and celery into small, even pieces. Mince the garlic, cube the potatoes (keep in cold water), and pat the cod dry and cut into 1 1/2-inch chunks. Season cod with 1/2 teaspoon salt and 1/4 teaspoon pepper and refrigerate. Chop parsley and juice the lemon.
  2. Heat olive oil in a Dutch oven over medium heat. Add the onion, carrots, and celery and cook for 6 to 8 minutes, stirring often, until soft and translucent—do not let them brown.
  3. Push the vegetables to the sides, add the garlic to the center, then stir in the tomato paste, thyme, smoked paprika, and red pepper flakes. Cook for 1 to 2 minutes, stirring constantly, until fragrant and the paste darkens slightly.
  4. Pour in the white wine and scrape the bottom of the pot to loosen browned bits. Simmer for about 2 minutes, until reduced by half and the sharp alcohol smell fades.
  5. Add the diced tomatoes with juices, fish stock, drained potatoes, and bay leaves. Bring to a boil, then reduce heat to medium-low, partially cover, and simmer for 15 to 20 minutes until the potatoes are fork-tender. Stir in the remaining salt and pepper.
  6. Lower the heat so the broth barely bubbles. Nestle the seasoned cod into the broth in a single layer, pressing under the liquid. Cover and cook for 5 to 7 minutes, until the fish is opaque, flakes easily, and reaches 145°F. Stir gently or not at all.
  7. Remove from heat and fish out the bay leaves. Stir in the chopped parsley and fresh lemon juice. Taste and add a pinch more salt if needed. Ladle into warm bowls, ensuring each serving gets plenty of fish, potatoes, and broth.

Nutrition

Serving1BowlCalories245kcalCarbohydrates22gProtein22gFat6gSaturated Fat1gPolyunsaturated Fat1gMonounsaturated Fat3gCholesterol55mgSodium650mgPotassium800mgFiber3gSugar5gVitamin A60IUVitamin C25mgCalcium6mgIron10mg

Notes

  • Add the fish last—it needs only a few minutes, and overcooking makes it tough and dry.
  • Use a firm white fish like cod, halibut, haddock, or snapper so the chunks hold together.
  • Cut the fish into evenly sized pieces so everything finishes cooking at the same time.
  • Keep the broth at a gentle simmer once the fish goes in; a hard boil breaks the fish apart.
  • Season with salt in stages, since stock and canned tomatoes already contain sodium.
  • Finish with fresh lemon juice to brighten the whole pot.
  • Use low-sodium stock so you stay in control of the final seasoning.
  • Make ahead: the broth with potatoes can be made up to 2 days ahead; reheat until gently simmering, then add fresh fish.
  • Storage: refrigerate leftovers in airtight glass containers for up to 2 to 3 days; freeze up to 3 months (potatoes may soften).
  • Best freezing method: freeze the broth and vegetables without the fish, then add fresh fish when reheating.

Tried this recipe?

Let us know how it was!

Conclusion

This fish soup is proof that a few simple ingredients and a short cook time can make a deeply comforting dinner.

The tomato broth is cozy, the cod stays tender, and the whole pot comes together in less than an hour.

I hope you give this fish soup a try the next time you want something light but satisfying.

If you make it, leave a comment below and share how it turned out, and feel free to pass it along to a friend who loves seafood.

Recommended: