Soups & Stews
This bacalao soup recipe transforms salt-cured cod into a fragrant, citrus-infused broth that tastes like a Mediterranean hug in a bowl. The key lies in properly desalting the fish—a process that removes the salt while preserving its delicate flavor.
I’ve perfected this technique over years of testing, ensuring the soup balances briny depth with bright, herbaceous notes that make every spoonful irresistible.
The foundation of this recipe is a slow-simmered broth built on garlic, onions, and a splash of lemon juice, which cuts through the fish’s natural richness.
Traditional variations include tomatoes and potatoes, but I’ve added a modern twist with roasted red peppers and fresh parsley for a touch of smoky sweetness. The result? A soup that’s both comforting and vibrant, perfect for chilly evenings or as a light yet satisfying main course.
What sets this bacalao soup apart is its adaptability—whether you’re serving it as a pescatarian centerpiece or pairing it with crusty bread and a crisp white wine. The desalting method is simple but critical; skipping it risks an overly salty broth.
Trust me, the effort is worth it for a dish that feels like a taste of Spain’s coastal traditions, right in your kitchen.
Ready in about 1 hour, this recipe delivers restaurant-quality results with minimal prep. The secret? Patience—letting the flavors meld during the simmer transforms simple ingredients into something extraordinary. Here’s how to make it, step by step.
Ingredients for bacalao soup
Transform salt-cured cod into a fragrant citrus-herb broth with these carefully chosen ingredients.
| Ingredient | Amount | Notes |
|---|---|---|
| Salt-Cured Cod (Bacalao) 🐟 | 12 oz | Properly desalted per instructions |
| Yellow Onions 🧅 | 1 medium | Diced, about 1 cup |
| Garlic Cloves 🧄 | 4 cloves | Peeled, thinly sliced |
| Fresh Lemon 🍋 | 1 whole | Juiced, about 3 tbsp |
| Roasted Red Peppers 🌶️ | 1 jar | Chopped, about 0.5 cup |
| Fresh Parsley 🌿 | ¼ cup | Chopped, for garnish |
| Extra-Virgin Olive Oil 🫒 | ½ cup | For sautéing |
| Dried Thyme 🌿 | 1 tsp | Or 1 tbsp fresh |
| Bay Leaves 🌿 | 2 whole | Removed before serving |
| Russet Potatoes 🥔 | 1 lb | Peeled, cubed |
| Tomatoes 🍅 | 2 medium | Ripe, diced |
| Fish Stock 💧 | 4 cups | Low-sodium preferred |
| Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
The bacalao is the heart of this dish—look for salt-cured cod labeled as suitable for soups, typically found in the seafood section of well-stocked grocery stores like Whole Foods or specialty markets. Proper desalting is critical; soak the fish in cold water for 24-48 hours, changing the water every 8 hours. The roasted red peppers add a smoky depth that complements the citrus notes, and I always opt for the jarred variety from Trader Joe's for consistent quality. Fresh herbs like parsley and thyme should be vibrant—wilted leaves indicate age—so check the stems for freshness before purchasing.
No fish stock on hand? Vegetable stock with a splash of white wine works in a pinch, though the flavor will differ slightly. Substituting dried herbs for fresh? Use one-third the amount—dried thyme is more concentrated. The tomatoes can be swapped for fire-roasted canned tomatoes if fresh aren't available, but avoid pre-seasoned varieties. For the potatoes, Yukon Golds add a creamy texture, but russets hold their shape better during simmering. The lemon juice is non-negotiable—freshly squeezed brightens the broth, while bottled juice lacks the necessary acidity.
Store the desalted bacalao in its soaking water in the fridge for up to 2 days before use. The finished soup reheats beautifully—simmer gently to avoid breaking the potatoes. For meal prep, portion into glass containers and refrigerate for 4-5 days or freeze for 3 months. Garnish with extra parsley and a drizzle of high-quality olive oil before serving to elevate the presentation. The broth thickens as it cools, so add a splash of water or stock if needed when reheating.
Why You'll Love This Recipe
- I swear by this shortcut: just toss the bacalao in water overnight, and wake up to a ready-to-cook protein. No fancy prep, no stress—just peel back the skin, and you’re golden.
- Soak-and-Go Magic: I swear by this shortcut: just toss the bacalao in water overnight, and wake up to a ready-to-cook protein. No fancy prep, no stress—just peel back the skin, and you’re golden.
- Umami Bomb: That salt-cured cod? It’s like a flavor amplifier—salty, deep, and then the roasted red peppers and garlic hit you with sweetness and heat. One spoonful and you’ll understand why I keep a jar of peppers on hand.
- Weeknight to Party: Same recipe, different vibes. Serve it in a rustic bowl with crusty bread for a lazy Tuesday, or drizzle it with olive oil and parsley for a fancy dinner. The lemon brightens it up either way—effortless upgrade every time.
Step-by-step instructions for bacalao soup
Transform salt-cured cod into a vibrant, aromatic broth with this method-tested approach.
Desalt and Prepare the Bacalao
Begin by thoroughly rinsing the 12 oz salt-cured cod under cold running water for 5 minutes to remove surface salt. Place the cod in a bowl and cover with cold water, changing the water 3 times over 2 hours. This gradual desalting preserves texture while removing excess sodium.
After desalting, pat the cod dry with paper towels and cut it into 1-inch cubes. Set aside while you prepare the aromatics. The cod should smell clean and fishy, not briny—this confirms proper desalting. If it still tastes salty, soak for another 30 minutes before proceeding.
Sauté Aromatics and Build the Base
Heat 0.5 cup extra-virgin olive oil in a large pot over medium heat. Add the 1 medium diced yellow onion and cook for 5 minutes until softened and translucent. Add the 4 cloves sliced garlic, 1 tsp dried thyme, and 2 whole bay leaves, stirring for 1 minute until fragrant.
Increase heat to medium-high and add the 1 jar chopped roasted red peppers. Cook for 2 minutes until slightly caramelized. This step develops deep, smoky flavors that form the soup's foundation. If the onions begin to brown too quickly, reduce heat slightly to prevent burning.
Simmer Potatoes and Tomatoes
Add the 1 lb cubed russet potatoes and 2 medium diced tomatoes to the pot. Pour in 4 cups fish stock, bring to a boil, then reduce heat to low. Simmer uncovered for 15 minutes, stirring occasionally, until the potatoes are tender when pierced with a knife. Skim off any foam that rises to the surface during this time.
The potatoes should collapse slightly under gentle pressure but still hold their shape. This texture ensures they'll break down further when the cod is added, creating a creamy yet rustic consistency. If the soup reduces too quickly, add ½ cup water to maintain proper liquid levels.
Cook the Bacalao and Finish
Gently add the 12 oz cubed bacalao to the simmering pot. Simmer uncovered for 10-12 minutes until the fish flakes easily with a fork. The soup should be hot but not boiling—vigorous boiling can cause the cod to break apart prematurely.
Remove the 2 bay leaves and stir in the juice of 1 whole fresh lemon and 1.5 tsp salt. Taste and adjust seasoning with black pepper to preference. The lemon brightens the rich fish flavors while balancing any residual saltiness from the bacalao.
Garnish and Serve
Ladle the soup into bowls and garnish immediately with 0.25 cup chopped fresh parsley. The parsley adds freshness and visual contrast to the deep red broth. Serve with crusty bread to soak up every last drop of the citrus-infused, herbaceous broth.
For best results, serve the soup while warm. The bacalao continues to absorb flavors as it cools, so enjoy it within 1 hour of preparation. The broth will thicken slightly upon standing—stir in a splash of water if needed to restore desired consistency.
Pro Tips For Making Bacalao Soup
- SOAK THE BACALAO LONGER: I learned this the hard way—skipping the 24-hour soak in cold water with one full water change (yes, even if you’re impatient) makes the fish taste like a salt lick. The cod needs time to shed its cure, so plan ahead or use pre-soaked bacalao from the store’s vacuum-sealed section.
- CARAMELIZE ONIONS LOW AND SLOW: High heat turns onions bitter, and this soup needs deep, sweet flavor. Cook them over medium-low with a splash of water or white wine, stirring often, until they’re golden-brown and jammy—about 20 minutes. That’s the base of every good bacalao soup.
- SKIP THE PEEL ON GARLIC: Whole garlic cloves add flavor without burning, and peeling them mid-cook is a hassle. Smash them lightly with the side of your knife first, then let them soften in the oil—no need to chop. Your soup will taste richer, and cleanup is easier.
- ACIDIFY THE SOUP AT THE END: Adding lemon juice too early curdles the broth or makes the bacalao taste raw. Wait until the very last minute, squeeze in the juice, and let it brighten the dish while everything’s hot. Trust me, your taste buds will notice the difference.
Best sauces and condiments for this recipe
Citrus-Herb Broth
The backbone of this soup is a bright, aromatic broth infused with fresh lemon juice and dried thyme.
I squeeze 1 whole lemon (about 3 tbsp juice) directly into the simmering pot just before serving—this final touch cuts through the richness of the bacalao and enhances its natural sweetness.
For extra depth, add 1 sprig of fresh rosemary while simmering the potatoes; its piney aroma pairs beautifully with the citrus. 🍋
Smoky Roasted Red Pepper
Roasted red peppers are a game-changer in this soup, adding smoky sweetness that balances the briny bacalao. I recommend using Trader Joe’s jarred roasted red peppers for consistent quality—simply chop 0.5 cup and sauté them with the onions for 2 minutes until slightly caramelized.
For a smokier flavor, char 1 red bell pepper directly over a gas flame or under a broiler before chopping and adding it to the pot.
Garlic-Infused Olive Oil
For an extra layer of flavor, infuse 0.25 cup of the olive oil with 3 minced garlic cloves and 1 tsp red pepper flakes while the soup simmers. Strain out the solids and drizzle this fragrant oil over each bowl before serving.
The garlic mellows into the broth, while the red pepper flakes add a subtle heat that lingers on the tongue. 🌶️
Creamy Potato Base
The 1 lb russet potatoes are key to creating a naturally creamy texture without heavy cream. Cube them into 1-inch pieces and simmer them until just tender—15 minutes—so they break down slightly but still hold structure.
For a silkier consistency, blend half the cooked potatoes into the broth before adding the bacalao, then stir back in for a velvety finish. Yukon Gold potatoes work too but may yield a slightly grainier texture.
Herbaceous Garnishes
Fresh herbs elevate the soup’s presentation and flavor. I always finish with 0.25 cup chopped parsley, but cilantro or dill add unique twists. For a Mediterranean touch, sprinkle toasted pine nuts or crumbled feta cheese on top—both add crunch and contrast the broth’s richness.
A drizzle of high-quality extra-virgin olive oil (like California Olive Ranch) ties everything together with a silky finish.
Spicy Kick Option
If you love heat, stir in 1 tsp harissa paste or ½ tsp cayenne pepper during the final 5 minutes of simmering. For a smoky-spicy combo, add 1 chopped chipotle pepper in adobo with the roasted red peppers.
The heat mellows as the soup cools, leaving a warm, lingering finish. 🔥
Nutrition facts
Frequently asked questions
How long should I soak bacalao before using it in soup?
Soak the bacalao for 24-48 hours, changing the water every 8 hours. This gradual process removes excess salt while preserving the fish's delicate texture. The key is patience—rushing it risks leaving a briny taste in your soup.
Can I substitute fresh cod for salt-cured bacalao?
Fresh cod won't work the same way—it lacks the deep, salty-sweet flavor profile of bacalao. However, you could try fresh monkfish or salted haddock as alternatives, but they'll require similar desalting. For authentic flavor, stick with properly cured bacalao.
What if my soup tastes too salty after cooking?
If the broth is over-salted, add 1 cup cold water and simmer for 5 minutes to dilute it. For a more dramatic fix, stir in 1-2 tbsp lemon juice—the acidity helps balance the salt. Avoid adding potatoes or other ingredients to "absorb" the salt, as this can make the soup watery.
How can I make this soup creamy without dairy?
Blend half the cooked potatoes with 1 cup broth until smooth, then stir back into the pot. For extra richness, add 2 tbsp tahini or 1 mashed avocado at the end. The natural starches in potatoes create a velvety texture without dairy.
Can I make this soup in an Instant Pot?
Yes! Sauté the aromatics first, then add all ingredients except the bacalao. Cook on High Pressure for 5 minutes, then quick-release. Add the bacalao and cook on Keep Warm for 5 minutes until flaky. The pressure cooker cuts time by 30 minutes while keeping flavors intense.
