Caldo de Pescado

5 from 10 votes
Jump to Recipe

As an Amazon Associate I earn from qualifying purchases.

A recipe for caldo de pescado, a Mexican fish soup. This is a very simple, rustic soup that relies on fresh fish broth and vegetables based on recipes from northwest Mexico.

A bowl of caldo de pescado, Mexican fish soup.
Photo by Holly A. Heyser

Caldo de pescado can be whatever you want it to be. Countless recipes exist across the Spanish-speaking world. This version draws on my travels in Baja and Sonora and is reflective of those states, with a little Sinaloa thrown in because, well Sinaloans really know their seafood.

I love this soup’s simplicity. You start with a whole fish, fillet it, then use the skin and scraps to make a rich broth. You pick out all the good meat from making the broth and use it, plus fillet meat if you want, to make this caldo.

All you need beyond that are a few vegetables, some roasted green chile, potatoes and shredded cabbage.

Like a lot of simple soups, caldo de pescado hinges on the quality of its ingredients. The fish should be fresh, the broth made that day, the vegetables charred to add flavor without added fat. I’ll walk you through it.

Fish for Caldo de Pescado

Traditionally this would be a white fish of some sort. Grouper, snapper, lingcod, rockfish, seabass, that sort of thing. Inland, you’d use bass, perch, walleye, catfish, crappie — anything that’s not to small, or too fatty. I’ve never seen or heard of this soup being made with trout or salmon.

You want to scale and gut the fish and remove the gills because you’ll be using the whole fish to make caldo de pescado. (Don’t worry if all you have are fillets. I’ll get to that in a bit.)

If they are small, like perch or little rockfish or brim, keep them whole. If they are large, you can make a whole pot of soup with just the head and the meat left on the carcass. Save the fillets for something like fish with mojo de ajo or chicharron de pescado.

Close up of a bowl of Mexican fish soup.
Photo by Holly A. Heyser

How to Make This

You’re basically doing two things at once, so the caldo de pescado comes together quickly: You make a quick fish stock, and while that simmers, you char some vegetables to go into the soup.

You can follow my basic recipe for fish stock, or you can Mexicanize it using the recipe below. Regardless, it only simmers 30 minutes, then you strain it.

Meanwhile, you’ll be charring tomatoes, onion, garlic and chiles to peel them, and boost their flavor.

Pick out all the meat from the broth-making and reserve it, simmer potatoes, shredded cabbage and carrots in your broth, then when they are tender, you add the charred vegetables, fish and some lime juice to the pot and have at it.

Shortcut Caldo de Pescado

That was the good way to make caldo de pescado. Here’s the weeknight method:

  • Dice boneless, skinless fillets of fish
  • Heat up premade fish, seafood or chicken stock
  • Simmer the carrots, cabbage and potatoes in that
  • Char the chiles, onion, garlic and tomatoes while the other vegetables simmer
  • Put them and fish into the pot, add lime and call it a day

Serving and Storage

Serve your caldo de pescado with corn tortillas as a nice light supper or lunch, or serve it as part of a larger Mexican meal. I have dozens and dozens of Mexican recipes to choose from here.

If you liked this recipe, please leave a ⭐️⭐️⭐️⭐️⭐️ rating and a comment below; I’d love to hear how everything went. If you’re on Instagram, share a picture and tag me at huntgathercook.

A bowl of Mexican caldo de pescado.
5 from 10 votes

Mexican Caldo de Pescado

This is a very simple Mexican fish soup: You can use any lean, white fish, and you can mix and match vegetables. The squeeze of lime at the end really helps.
Course: lunch, Main Course, Soup
Cuisine: Mexican
Servings: 6 servings
Author: Hank Shaw
Prep Time: 45 minutes
Cook Time: 30 minutes
Total Time: 1 hour 15 minutes



  • 3 pounds fish, whole but gutted and scaled and gills removed
  • Salt
  • 1 white onion, chopped
  • 3 bay leaves
  • 1 sprig epazote (optional)
  • 1 tablespoon black peppercorns


  • 1 large carrot, sliced into discs
  • 1/4 head cabbage, shredded
  • 1/2 pound potatoes, peeled and diced
  • 1 teaspoon Mexican oregano
  • 2 Roma tomatoes, sliced lengthwise
  • 1 white onion, peeled and quartered
  • 4 cloves garlic, unpeeled
  • 2 to 4 Anaheim, Hatch or poblano peppers
  • Salt
  • Lime juice to taste


  • If the fish are smaller than about 2 pounds, keep them whole. If you are using one large fish, fillet it and use the fillets elsewhere — you'll have enough meat just with the head, collar and what's left on the bones.
  • Put the carcass into a large pot of water and bring to a simmer. Skim any foam that forms on top. Add the remaining broth ingredients and simmer gently for 30 to 40 minutes. Strain the broth, reserving the carcass. Pick off all the meat from the carcass and reserve.
  • While the broth is simmering, heat a comal or griddle or large cast iron pan over high heat and char the tomato, onion quarters, garlic cloves and chiles. You want a good char here for flavor. Peel the garlic and tomatoes, and peel and seed the chiles. The chiles will be easier to peel if you put them in a bowl and cover it with a plate to let them steam a while first.
  • After you have strained the broth, wipe out the pot or clean it if it's gnarly, then return the broth to the pot. Add the Mexican oregano, potatoes, carrots and cabbage and bring it to a simmer. Add salt to taste.
  • Chop the charred vegetables into pieces you'd want to eat in a soup. When the potatoes and carrots are tender, add the charred vegetables and the flaked out fish to the pot and let this cook for 10 minutes. Serve with some lime juice and corn tortillas.


Calories: 263kcal | Carbohydrates: 11g | Protein: 47g | Fat: 4g | Saturated Fat: 1g | Polyunsaturated Fat: 1g | Monounsaturated Fat: 1g | Cholesterol: 113mg | Sodium: 197mg | Potassium: 920mg | Fiber: 3g | Sugar: 4g | Vitamin A: 1927IU | Vitamin C: 23mg | Calcium: 69mg | Iron: 2mg

Nutrition information is automatically calculated, so should only be used as an approximation.

Tried this recipe? Tag me today!Mention @huntgathercook or tag #hankshaw!

You May Also Like

Mexican Mixiotes

Mixiotes are Mexico’s version of foods cooked in parchment. It’s an ancient, versatile way to cook. Here’s a recipe and some tips and tricks to make them at home.

Venison Enchiladas

Classic venison enchiladas are easy to make, delicious and make for fantastic leftovers. What’s more, you have plenty of filling options.


Chacales are roasted, dried and cracked corn typically cooked in soups. Also called chichales or chuales, it makes a great meatless soup for Lent.

Caldo de Queso

How to make classic Sonoran caldo de queso, a cheese soup with a rich broth, roasted chiles, potatoes and chunks of cheese.

About Hank Shaw

Hey there. Welcome to Hunter Angler Gardener Cook, the internet’s largest source of recipes and know-how for wild foods. I am a chef, author, and yes, hunter, angler, gardener, forager and cook. Follow me on Instagram and on Facebook.

Leave a comment

Your email address will not be published. Required fields are marked *

Recipe Rating


  1. This is just absolutely delicious. I’m making your chorizo right now. I made this soup yesterday. I plan on making the ceviche tomorrow. My husband fishes and I’m always on the hunt for great recipes. I really like how thorough and comprehensive your explanations are and your “tone”, don’t know how else to explain it. I feel like you’re in the kitchen with us and gently guiding us through the recipes. And your photos are gorgeous. Many thanks!

  2. Sounds like what I find here in San Felipe, if I’m lucky!
    I have some misc fish fillets from Flaco at Saturdays swap meet, going to see what I can do! Gracias!