Mexican caldo de pescado is a brothy fish soup made with tender pieces of fish, vegetables, and a tomato-seasoned broth, usually finished with lime and cilantro. Recipes vary by region and household; this approachable version uses potatoes, carrots, zucchini, and mild white fish for a hearty soup that is straightforward to make at home.
Ingredients
- 2 tablespoons neutral oil (30 ml), such as canola or avocado oil
- 1 medium yellow onion, finely chopped (about 1 cup or 150 g)
- 2 medium carrots, peeled and cut into ½-inch pieces (about 1 cup or 130 g)
- 2 celery stalks, sliced (about 1 cup or 100 g)
- 3 garlic cloves, minced (about 9 g)
- 1 jalapeño, seeded for less heat if desired, finely chopped (about 15 g)
- 1 can diced tomatoes with their juices (14.5 ounces or 411 g)
- 6 cups fish stock (1.4 L)
- 2 cups water (475 ml)
- 2 medium potatoes, peeled if desired and cut into ½-inch cubes (about 2 cups or 300 g)
- 1 bay leaf
- 1 teaspoon dried Mexican oregano (1 g), or regular dried oregano
- ½ teaspoon ground cumin (1 g)
- 1¼ teaspoons fine salt (7 g), plus more to taste
- ¼ teaspoon black pepper (about 0.5 g)
- 1 medium zucchini, cut into ½-inch pieces (about 1½ cups or 200 g)
- 1½ pounds firm, boneless white fish, such as cod, snapper, haddock, or tilapia, cut into 1½-inch chunks (680 g)
- ¼ cup chopped fresh cilantro leaves and tender stems (about 10 g), plus extra to serve
- 2 limes, cut into wedges (about 120 g)
Instructions
-
Prepare the ingredients. Chop the vegetables and fish into similarly sized pieces so they cook at a predictable pace. Check the fish carefully for pin bones, removing any with clean tweezers. Keep the fish refrigerated while you prepare the soup, and wash your hands and work surfaces after handling raw seafood.
-
Soften the aromatics. Heat the oil in a large, heavy pot over medium heat. Add the onion, carrots, and celery and cook for about 4 minutes, stirring occasionally, until the onion begins to soften. Stir in the garlic and jalapeño and cook for 2 more minutes. Keep the heat moderate: garlic can turn bitter if it browns deeply.
-
Build the broth and cook the firm vegetables. Add the tomatoes and their juices, fish stock, water, potatoes, bay leaf, oregano, cumin, salt, and pepper. Stir, bring the soup to a boil, then lower the heat to maintain a steady simmer. Partially cover and cook for 16 minutes, or until the potatoes are almost tender when pierced with a knife. The timing can vary slightly with the size and variety of the potatoes.
-
Add the zucchini. Stir it into the pot and simmer for 5 minutes. Taste the broth and adjust the salt if needed, remembering that the fish will add flavor as it cooks. Keep the soup at a gentle simmer rather than a rolling boil, which can break up the vegetables and make the broth cloudy.
-
Cook the fish gently. Add the fish chunks in a single layer as much as possible, then gently stir once to submerge them. Simmer for about 8 minutes, depending on the size and thickness of the pieces, until the fish is opaque and flakes easily. Check the thickest piece with a food thermometer: USDA FSIS guidance sets the safe minimum internal temperature for fish at 145°F (63°C). If it has not reached that temperature, continue simmering briefly and check again.
-
Finish and serve. Remove the bay leaf and stir in the cilantro. Ladle the soup into warm bowls, distributing fish and vegetables evenly. Serve with lime wedges so each person can squeeze fresh juice over their portion; add extra cilantro or sliced chile at the table if wanted.
Tips
-
Choose fish that holds together. Cod, snapper, haddock, and tilapia are mild choices; halibut also works but is usually firmer and more expensive. Very delicate fish can fall apart during stirring, so add it carefully and avoid repeatedly moving it around. If using a mix of fish, cut thicker pieces smaller or add them a little earlier than thinner pieces.
-
Keep the simmer gentle. A lively boil can toughen fish and break the pieces into flakes before they reach the bowls. Once the fish goes in, lower the heat enough that only small bubbles rise around the edges. Use a wide pot if possible so the fish is not piled in a deep mound.
-
Adjust the heat to your table. Jalapeño varies in strength. Remove its seeds and pale ribs for a milder broth, or leave them in for more heat. You can also leave the pepper out and offer sliced jalapeño, serrano, or hot sauce separately.
-
Use the right oregano if available. Mexican oregano has a citrusy, slightly earthy character and is common in Mexican cooking. Regular Mediterranean oregano is a convenient substitute; it tastes more herbal, but the soup will still be flavorful. If your fish stock is salted, start with less added salt and season after the vegetables soften.
Serving Suggestions
Serve caldo de pescado hot as a main course, with the fish and vegetables divided among the bowls rather than treating it as a light starter. Warm corn tortillas are useful for dipping into the broth; flour tortillas or crusty bread are also practical accompaniments, though they are not traditional in every region. A small bowl of steamed white rice on the side makes the meal more filling, and some people spoon rice directly into the broth just before eating.
Put lime wedges, chopped cilantro, and thinly sliced onion on the table so diners can finish each bowl to taste. For a simple side, serve sliced avocado or a crisp cabbage salad dressed with lime. Add those fresh toppings at the table, not to the pot, so their texture and color stay distinct.
Variations
Make it with dried chile. For a deeper, gently fruity chile flavor, replace the jalapeño with one dried guajillo chile. Remove its stem and seeds, toast it briefly in a dry skillet until fragrant without scorching, then soak it in hot water until pliable. Blend it with the canned tomatoes and a ladle of stock, then add that mixture to the pot with the remaining broth. Guajillo chiles are sold in many Latin American grocery stores; if you cannot find one, use a mild dried New Mexico chile or keep the jalapeño. The dried chile gives the broth a rounder, less fresh heat.
Add other vegetables. Chayote, green beans, or corn can stand in for some of the zucchini or celery. Chayote is a mild Mexican squash that may be less familiar; peeled, seeded chayote cut into cubes is a useful substitute for zucchini, though it stays a little firmer. Add vegetables according to how long they need to soften: firm pieces go in with the potatoes, while tender vegetables belong near the end.
Use shrimp or shellfish. Replace part of the fish with peeled, deveined shrimp, or add cleaned mussels if you know how to handle them safely. Shrimp cook quickly, so add them near the end and cook until opaque and firm; shellfish timing depends on size. If combining seafood, keep the total amount close to 1½ pounds (680 g) and make sure each type is fully cooked before serving. A mix of seafood changes the soup’s flavor and texture, but the tomato broth remains a good base.
Make a lighter, simpler broth. If fish stock is unavailable, use low-sodium vegetable broth or water instead. Water gives a cleaner, less pronounced seafood flavor, so taste and adjust the salt, lime, and herbs at the end. Avoid a strongly flavored stock that could overwhelm the delicate fish.
Storage and Reheating
Cool leftovers promptly and refrigerate them within 2 hours of cooking in shallow, covered containers. The soup keeps for 3 to 4 days in the refrigerator. For the best texture, store the broth and vegetables separately from any fish you have not yet added; if the fish is already cooked in the soup, it is still safe to store this way, but it may become softer as it sits.
Reheat only the amount you plan to eat, using a saucepan over medium-low heat and stirring gently until the soup is steaming throughout and reaches 165°F (74°C), the USDA FSIS safe temperature for reheated leftovers. Avoid bringing it to a hard boil, which can make the fish break apart. If the broth has thickened in the refrigerator, add a splash of water or stock while reheating. Freezing is possible for up to about 2 months for best quality, though potatoes and cooked fish may soften; thaw overnight in the refrigerator and reheat to 165°F (74°C). Do not leave the soup at room temperature for extended storage.
Frequently Asked Questions
What is the best fish for caldo de pescado?
Choose a mild, firm fish that can be cut into chunks and will not disintegrate immediately in hot broth. Cod, snapper, haddock, and tilapia are accessible options. Freshness and thickness matter more than choosing one particular species; avoid pieces with a strong fishy smell, and check carefully for bones before cooking.
Can I use frozen fish?
Yes. Thaw it in the refrigerator before cutting it into chunks, then pat it dry so excess water does not dilute the broth. Do not thaw fish on the counter. If it was frozen in a thick block, separate the pieces after thawing and remove any remaining pin bones before adding them to the soup.
Can I make the soup ahead?
You can prepare the tomato broth and vegetables ahead, refrigerate them promptly, and reheat the base before adding freshly cut fish. This approach gives you the best fish texture. If you make the entire soup ahead, chill it within 2 hours and reheat gently to 165°F (74°C); expect the fish to be softer than when served right after cooking.
How can I tell when the fish is done?
The flesh should turn opaque and separate into flakes, but appearance alone is not the most reliable safety check. Insert a food thermometer into the thickest piece without touching the pot; the fish should reach 145°F (63°C). Because pieces may differ in size, check more than one and remove smaller pieces once they are safely cooked if needed.
Is caldo de pescado spicy?
It can be mild or spicy depending on the cook and the chiles used. This recipe uses one jalapeño, which gives a moderate, adjustable warmth; remove its seeds and ribs or omit it for a milder pot. Serve extra chile separately so everyone can season their own bowl.
Can I make it without fish stock?
Yes. Low-sodium vegetable broth is the easiest substitute, and water also works. Fish stock makes the broth taste more distinctly like seafood, while vegetable broth gives it a gentler flavor. Add salt gradually and finish with lime and cilantro to bring the flavors into balance.
Related
- Jamaican Red Bean Soup Recipe with Coconut Milk and Thyme
- Jamaican Pumpkin Soup with Dumplings
- Jamaican Pumpkin Soup with Chicken: A Hearty Recipe
More recipes to cook
Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes
Spotted an error? Tell us and we will correct it (corrections policy).