Fish soup is a wonderful dish that brings together tender fish pieces, fresh vegetables, and a flavorful broth that’s both light and satisfying. It’s the kind of meal that feels cozy and makes you think of slow Sunday afternoons. The broth usually has hints of herbs and a touch of lemon or tomato, giving it a bright and fresh taste that keeps you coming back for more.
I love making fish soup when I want something nourishing but not too heavy. One of my favorite things about this soup is how easy it is to customize—you can add your favorite fish or whatever veggies you have on hand. It’s a great way to use up leftovers and it always comes out tasting like a warm hug in a bowl. I usually simmer the fish just until it’s flaky and soft, so it stays tender and full of flavor.
Serving fish soup with some crusty bread on the side is my go-to. It’s perfect for dipping and soaking up all the tasty broth. Sometimes, I like to sprinkle a bit of fresh parsley or dill on top, which adds a nice pop of color and freshness. This soup always brings people together at the table, and I find it perfect for sharing good conversation and simple, satisfying food.
Key Ingredients & Substitutions
Fish: I like firm white fish like cod or haddock because they hold their shape well. If you can’t find these, tilapia or catfish work too. Avoid delicate fish; they can fall apart in the soup.
Potatoes: Potatoes add body and mild sweetness. Yukon Gold or red potatoes are great. You could swap for sweet potatoes for a different taste and color.
Tomatoes: Fresh tomatoes give the broth brightness and a touch of acidity. If fresh aren’t available, use canned diced tomatoes instead.
Herbs: Dill is classic with fish, but parsley or thyme are nice swaps. Fresh herbs at the end brighten the flavor.
Stock: Fish stock is best for a rich taste, but vegetable stock or even water with a fish sauce splash will work.
How Do You Cook the Fish Just Right Without Overcooking?
Fish cooks quickly and can get rubbery if overdone. Follow these tips for tender, flaky pieces:
- Add fish chunks at the very end, once your potatoes are tender.
- Keep the heat at a gentle simmer—not a boil—to cook fish evenly.
- Cook fish just 5-7 minutes until it easily flakes with a fork.
- Avoid stirring too much after adding fish to keep pieces whole.
Remember, the fish will finish cooking in the hot soup after you turn off the heat, so pulling it off slightly early is okay.
Equipment You’ll Need
- Large pot or Dutch oven – perfect for simmering the soup evenly and holding all the ingredients comfortably.
- Wooden spoon – great for stirring the soup without scratching your pot.
- Sharp knife – makes chopping vegetables and fish quick and safe.
- Cutting board – keeps your workspace tidy and helps with safe chopping.
- Ladle – makes serving the hot soup easy and mess-free.
Flavor Variations & Add-Ins
- Swap white fish for shrimp or scallops for a seafood twist with quicker cooking time.
- Add diced carrots and celery for extra crunch and sweetness in your broth.
- Stir in a pinch of cayenne or red pepper flakes to give the soup a gentle spicy kick.
- Use coconut milk instead of stock for a creamy, slightly sweet, tropical flavor.

How to Make Hearty Fish Soup
Ingredients You’ll Need:
Main Ingredients:
- 1 lb (450g) firm white fish fillets (such as cod, haddock, or snapper), cut into chunks
- 2 tablespoons olive oil
- 1 medium onion, diced
- 2 cloves garlic, minced
- 2 medium potatoes, peeled and diced
- 2 medium tomatoes, chopped
- 4 cups (1 liter) fish or vegetable stock
Spices and Herbs:
- 1 teaspoon smoked paprika (optional)
- Salt and freshly ground black pepper, to taste
- 1 teaspoon dried thyme or fresh herbs like dill or parsley, chopped
- Juice of 1 lemon
- Fresh dill, chopped, for garnish
How Much Time Will You Need?
This fish soup takes about 10 minutes to prepare and around 25 minutes to cook. So, in roughly 35 minutes, you’ll have a delicious, warming soup ready to enjoy.
Step-by-Step Instructions:
1. Sautéing the Onions and Garlic:
Heat the olive oil in a large pot over medium heat. Add your diced onions and minced garlic, stirring occasionally. Cook them for about 4 to 5 minutes until the onions turn soft and smell amazing.
2. Cooking the Tomatoes:
Mix in the chopped tomatoes and keep cooking for another 3 minutes. This lets the tomatoes soften and release their natural juices that add lovely flavor to the soup.
3. Adding Potatoes and Spices:
Stir in the diced potatoes and sprinkle the smoked paprika if you like a slightly smoky taste. Coat everything well with the tomato and onion mix.
4. Simmering the Soup:
Pour the fish or vegetable stock into the pot. Turn up the heat until the soup boils, then lower it to a gentle simmer. Cover the pot and cook until your potatoes are tender, about 15 minutes.
5. Cooking the Fish:
Carefully add the fish chunks into the pot. Let it simmer for 5 to 7 minutes until the fish flakes easily when you press it with a fork. Be gentle to keep the fish pieces intact.
6. Finishing Touches:
Stir in the lemon juice and your chosen herbs. Season with salt and pepper to taste. This brightens up the flavors and adds a fresh aroma.
7. Serving Your Soup:
Ladle the hot soup into bowls. Garnish with freshly chopped dill on top. It tastes fantastic served with crusty bread—perfect for dipping and soaking up every bit of that tasty broth.
Can I Use Frozen Fish for This Soup?
Yes, you can use frozen fish, but make sure it’s fully thawed before adding it to the soup. Thaw in the refrigerator overnight or place the sealed fish in cold water for quicker thawing. This helps the fish cook evenly and maintain its texture.
Can I Prepare the Soup in Advance?
Absolutely! You can cook the soup up to the point before adding the fish, then refrigerate it for up to 2 days. When ready to serve, gently reheat and add the fish chunks last so they don’t overcook.
How Do I Store Leftover Fish Soup?
Store leftovers in an airtight container in the refrigerator for up to 3 days. Reheat gently on the stove over low heat, stirring occasionally. Avoid boiling once the fish is added to keep it tender.
What Can I Serve with Fish Soup?
Crusty bread or garlic bread is perfect for dipping into the broth. You can also serve it alongside a light green salad or steamed vegetables for a complete meal.