Best Fish Soup Recipe in the World with Potatoes: Crisp Celery Crowns Over Herbed Broth Magic

Soups & Stews

Best Fish Soup Recipe in the World with Potatoes: Crisp Celery Crowns Over Herbed Broth Magic

This best fish soup recipe in the world with the potatoes delivers restaurant-quality broth so rich and aromatic, every spoonful feels like a hug for your soul.

The secret lies in slow-simmered celery crowns that transform ordinary vegetables into crisp, fragrant garnishes, while flaky white fish melts into the herbed broth like a dream.

I've perfected this over years of testing—each ingredient plays a precise role, from the caramelized onions to the perfectly starchy potatoes that soak up every drop of flavor.

The magic begins with a deep, savory base built from onions, garlic, and celery that cook until golden—this isn't just soup, it's a symphony of textures and temperatures. Potatoes achieve that ideal tender-but-firm bite, while delicate fish fillets cook just until they flake apart at the touch of a fork.

The broth? Thick enough to coat a spoon but light enough to let the natural flavors shine through, finished with fresh herbs that add brightness without overpowering.

What makes this the best fish soup you'll ever make is how every element comes together: the crisp celery crowns add crunch, the potatoes provide hearty substance, and the fish delivers melt-in-your-mouth perfection. It's the kind of dish that transforms a simple meal into an experience—warm, comforting, and impossibly satisfying.

The aroma alone will have everyone gathering around your table before the first bowl is even served.

Whether you're serving a family dinner or hosting a dinner party, this recipe scales beautifully while maintaining its restaurant-quality essence. The technique is straightforward but requires attention to detail—simmering times matter, seasoning must be balanced, and the celery crowns need that perfect crispness.

Trust me, once you try this version, you'll never go back to basic fish chowder again.

👨‍🍳
Difficulty
Medium
🐟
Diet
Seafood
🔥
Calories
Med Cal

Ingredients for best fish soup recipe in the world with potatoes

Sixteen ingredients, one unforgettable soup—crisp, creamy, and bursting with restaurant magic.

Ingredient Amount Notes
White Fish Fillets 🐟 1 ½ lb Cod, haddock, or halibut preferred
Yellow Onions 🧅 2 whole Thinly sliced, caramelized
Celery Stems 🧄 4 whole Cut into 2-inch pieces for crowns
Garlic Cloves 🧄 4 cloves Minced for depth of flavor
Russet Potatoes 🥔 2 lb Cut into 1-inch chunks
Fish or Vegetable Stock 💧 6 cups Homemade preferred, low-sodium
Heavy Cream 🥛 ½ cup Full-fat for richness
Dry White Wine 🍷 ½ cup Sauvignon Blanc or Pinot Grigio
Fresh Thyme 🌿 ¼ cup Leaves only, stems removed
Fresh Parsley 🌿 ¼ cup Chopped for garnish
Fresh Dill 🌿 0.2 cup Chopped, for brightness
Salt 🧂 1 ½ tsp Diamond Crystal preferred
Black Peppercorns 🌶️ ½ tsp Freshly cracked
Unsalted Butter 🧈 2 tbsp For celery crowns
Lemon Juice 🍋 1 tbsp Freshly squeezed

The fish is the star, so grab the freshest you can find. Whole Foods or your local fishmonger are ideal—look for fillets with firm, translucent flesh and no fishy odor. For the celery crowns, Trader Joe's has the thickest stems, perfect for crispy edges. The potatoes? Russets are your best bet—they hold their shape beautifully. Pro tip: If you can't find fresh fish, high-quality frozen fillets work too—just thaw them overnight in the fridge. And trust me on the wine: Pinot Grigio adds a subtle brightness that takes this soup to the next level.

No white wine? Extra fish stock with a splash of lemon juice does the trick. Fresh herbs wilt fast, so grab them last—Costco's bulk section has the best prices, but even a small bunch from the grocery store works. The butter for the celery crowns? Don't skip this part—it's what makes them crispy. No thyme? Dried works at half the amount, but fresh is worth hunting down. And if you're feeling fancy, add a pinch of fennel seeds to the broth for an extra layer of depth—it's a secret I picked up from a French chef in Maine.

This soup tastes even better the next day—3-4 days in the fridge, no problem. For crispy celery crowns, fry them fresh right before serving (they soften fast). Store the broth separately if you're prepping ahead—reheat gently, then add the fish and cream at the end. Leftovers? Freeze for up to 3 months—just thaw overnight and give it a taste before reheating. The cream might separate, so stir it back in with a splash of warm water.

❤️

Why You'll Love This Recipe

  • No Chopping Chaos: I swear by this recipe because you can literally dump the whole onion, celery, and garlic into the pot whole—peels and all. They’ll soften into the broth without you ever needing a knife. (Yes, even on a Tuesday night when you’re too tired to julienne.)
  • Potatoes So Good: That crispy, golden edge on the potatoes? It’s the secret weapon. You just roast them first for 15 minutes before adding to the soup—no extra work, just ridiculously satisfying texture.
  • Leftovers That Beg: This soup tastes even better the next day. Between us, I’ve reheated mine three times and still crave it. The fish stays flaky, the potatoes soak up the flavor, and it’s the kind of meal that makes you feel like you’re being taken care of.
  • Budget-Friendly Feast: Fish fillets might seem pricey, but this recipe stretches them over potatoes and broth like magic. Honestly, I’ve made it for $12 and fed four people—plus, the veggies are cheap staples. No guilt, all comfort.

Step-by-step instructions for crisp celery crowns over herbed broth magic

Here's how to create a luxurious fish soup with melt-in-your-mouth potatoes and irresistible crispy celery crowns.

1

Caramelize Onions and Prepare Celery Crowns

In a large Dutch oven, melt the 2 tablespoons unsalted butter over medium-low heat. Add the 2 whole yellow onions, sliced thinly, and cook for 20-25 minutes until deeply golden and caramelized. This slow cooking transforms simple onions into sweet, jammy flavor bombs.

While the onions caramelize, cut the 4 whole celery stems into 2-inch pieces, leaving the bottoms intact to form crowns. Set aside - these will become your crispy garnish. The key is patience here; don't rush the onions or they'll burn before caramelizing properly.

2

Build the Flavor Base with Aromatics

Add the 4 cloves minced garlic to the Dutch oven and cook for 30 seconds until fragrant. Immediately pour in the 0.5 cup dry white wine and scrape up all those delicious browned bits from the bottom - this is where all the flavor lives. Let the wine simmer until reduced by half, about 3-4 minutes.

Stir in 1.5 teaspoons salt and 0.5 teaspoon freshly cracked black peppercorns, then add the 2 pounds russet potatoes cut into 1-inch chunks. Pour in the 6 cups fish or vegetable stock and bring to a gentle simmer. The broth should just cover the potatoes - if it's too thin, reduce it slightly to concentrate the flavors.

3

Simmer Potatoes Until Fork-Tender

Let the soup simmer gently for 15-20 minutes until the potatoes are tender when pierced with a knife. You want them to hold their shape but be easily fork-tender - this ensures they won't turn to mush when the fish is added later.

While the potatoes cook, prepare the 1.5 pounds white fish fillets by cutting them into 1-inch pieces. Keep them covered in the refrigerator until ready to add - this prevents them from overcooking in the hot broth. The fish will cook in just minutes, so timing is everything here.

4

Finish with Cream and Fresh Herbs

Stir in the 0.5 cup heavy cream and 1 tablespoon freshly squeezed lemon juice. Add the 0.25 cup fresh thyme leaves, 0.2 cup fresh dill, and 0.25 cup chopped fresh parsley. Simmer for just 2-3 minutes - you're not trying to cook these delicate herbs, just infuse their bright flavors into the soup.

Gently add the fish pieces and simmer for 3-4 minutes until they're just cooked through - the centers should flake easily with a fork. Remove from heat immediately to prevent overcooking. The fish should be opaque and tender, not dry or rubbery.

5

Create Crispy Celery Crowns and Serve

In a separate skillet, melt 1 tablespoon unsalted butter over medium heat. Add the celery crowns in a single layer and cook for 4-5 minutes, turning occasionally, until golden brown and crispy. The edges should be deeply caramelized while the centers remain tender.

Ladle the soup into bowls, placing 2-3 crispy celery crowns on top of each serving. The contrast of silky broth, tender fish, creamy potatoes, and crispy celery is what makes this soup truly extraordinary. Serve immediately with crusty bread to soak up every last drop of that herbed broth magic.

👨‍🍳

Pro Tips For Making Best Fish Soup Recipe In The World With Potatoes

  • Sear the Fish First: Take those fillets out of the fridge and hit them with a quick sear in a hot pan—no oil needed, just a dry skillet for 2 minutes per side. This locks in flavor and keeps them from turning to mush later. I used to skip this, and the soup always tasted watery no matter how long I simmered.
  • Don’t Dice the Potatoes: Cut them into 1.5-inch chunks instead—big enough to stay intact but small enough to cook through without turning to glue. Russets break down fast, and you want those fluffy, creamy bites, not a thick, pasty mess. Trust me, your spoon will thank you.
  • Salt the Water Like the Sea: Toss in 2 teaspoons of salt per quart of water before boiling the potatoes—enough to make a full-time fisherman wince. Under-salted broth is the fastest way to ruin a fish soup. (Yes, even if you’re adding more later—flavor builds, not resets.)
  • Sweat the Aromatics Slow: Cook the onions, celery, and garlic at medium-low heat for 8–10 minutes until the onions are translucent and the celery’s lost its crunch. Rushing this step means your soup will taste raw and bitter. I learned this after burning my first batch of soup base—now I set a timer.

Pro cooking tips for this recipe

Broth Perfection

Start your soup with a low and slow simmer—this builds depth of flavor. After caramelizing onions for 20-25 minutes, add garlic and wine to deglaze the pot. This step extracts Maillard reaction flavors that transform basic stock into something extraordinary.

I always use homemade fish stock (or high-quality store-bought like Pacific Foods) for that authentic umami richness. 💧

Celery Crowns

The secret to crispy celery crowns is high heat and patience. Fry them in 1 tablespoon butter over medium heat for 4-5 minutes, turning occasionally. They should be golden with slightly charred edges—this adds a smoky contrast to the creamy broth.

Keep them in a 200°F oven while serving to maintain crispness. 🌟

Fish Timing

Fish cooks in 3-4 minutes—any longer and it turns rubbery. Cut fillets into 1-inch pieces and keep them covered in cold water until the last minute.

Add them to the simmering soup just before serving, then remove immediately when they flake easily. I prefer cod or halibut for their delicate texture. 🐟

Potato Texture

Potatoes should be fork-tender but intact—simmer them for 15-20 minutes until just done. Overcooking turns them mushy, while undercooking leaves them chalky. A knife test (piercing with a paring knife) is foolproof. Russets hold up best, but Yukon Golds add natural creaminess. 🥔

Herb Balance

Fresh herbs like thyme, dill, and parsley should brighten, not overpower. Add them 2-3 minutes before serving—just enough to infuse flavor without wilting completely. I like a 3:1 ratio of thyme to dill for a classic balance.

Store herbs in airtight containers in the fridge for up to 5 days. 🌿

Creamy Finish

Heavy cream adds richness, but temperature matters. Stir it in off the heat to prevent curdling. A splash of lemon juice balances the cream’s heaviness. For extra depth, whisk in 1 tablespoon cold butter at the end—this creates a silky, velvety texture. 🥛

Nutrition facts

Servings 6
Amount Per Serving
Calories 380kcal
% Daily Value *
Total Fat 18g23%
Saturated Fat 8g40%
Cholesterol 75mg25%
Sodium 820mg36%
Total Carbohydrate 35g12%
Dietary Fiber 5g18%
Sugars 6g
Protein 28g56%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

What's the best fish to use for this recipe?

For this rich fish soup, I recommend delicate white fish like cod, halibut, or haddock—they flake beautifully and stay moist. Avoid firm fish like salmon or tuna, as they can become dry when simmered in broth. The key is freshness: look for fillets with firm, translucent flesh and a mild ocean scent, not fishy.

2

Can I make this soup ahead of time?

This soup actually tastes better the next day as flavors meld. Prepare everything except the fish and celery crowns, then refrigerate the broth for up to 3 days. Reheat gently, then add the fish and crispy celery just before serving. For leftovers, store the broth separately and keep the celery crowns in a 200°F oven until ready to serve.

3

How do I fix mushy potatoes in my soup?

If your potatoes turn mushy, it's usually from overcooking. The fix is simple: drain some broth and add a splash of cold water to dilute the starches, then simmer for 2-3 minutes. For next time, use Yukon Gold potatoes (they're more forgiving) or stick to 15-20 minutes of simmering time. A quick test: pierce with a knife—if it goes in easily, they're perfect.

4

What can I substitute if I don't have white wine?

No problem! Replace the 0.5 cup white wine with an equal amount of fish stock plus 1 tablespoon lemon juice for brightness. For extra depth, add 1 teaspoon apple cider vinegar or a pinch of fennel seeds toasted in the butter. The acidity helps balance the flavors just as well as wine would.

5

Can I make this soup dairy-free?

Yes, but with a few adjustments. Skip the heavy cream and use coconut milk (full-fat for richness) or cashew cream instead. For the crispy celery crowns, use olive oil instead of butter. The broth will still be delicious, though the texture will be slightly lighter. Garnish with extra herbs and lemon zest to keep it flavorful.

★★★★★4.7(15 reviews)
Categories Soups & Stews