Go Back
+ servings
Caldo de Pescado served in a white bowl and topped with cilantro and chile slices.
Print Recipe
5 from 51 votes

Mexican Fish Soup, or Caldo de Pescado

Caldo de Pescado (or Mexican Fish Soup) is an EASY and absolutely delicious dish. It’s hard not to love a big bowl of this hearty and comforting soup that's loaded with FLAVOR!! Made with homemade fish broth and a spicy tomato sauce.
Prep Time15 mins
Cook Time30 mins
Total Time45 mins
Course: Dinner
Cuisine: Mexican
Servings: 4
Calories: 142kcal


To Make Homemade Fish Broth:

  • Fish head tail, and bones of 1 fish
  • ½ onion
  • 1 garlic clove
  • 1 bay leaf
  • 1 tbsp salt
  • 1/2 tspn pepper
  • 10 cups Water

For the Tomato Sauce:

  • 3 tomatoes quartered
  • 1 cup Water
  • 1/2 onion
  • 1 garlic clove
  • 1 chipotle pepper in adobo sauce
  • 1/2 tbsp salt

For the Fish Soup:

  • 2 tablespoons Olive Oil
  • 1 large russet potato cubed
  • 2 carrots sliced
  • 10 cups Fish Broth or 10 cups water + 2 seafood bouillons
  • 1 bay leaf
  • 1 fish sea bass, red snapper, or swordfish, cut into 1-inch pieces
  • Sliced chile de árbol optional
  • Lime wedges optional


To Make Homemade Fish Broth:

  • In a large pot, add fish head, tail, and bones, 1/2 onion, 1 garlic clove, bay leaf, salt and pepper.
  • Add 10 cups of water.
  • Cover and bring to a boil.
  • Reduce heat and let simmer for 15 minutes.
  • Turn heat off.
  • Strain to discard bones, onion, garlic, and bay leaf.
  • Set broth aside until ready to use.

For the Tomato Sauce:

  • In a blender, add tomatoes, 1 cup water, ½ onion, 1 garlic clove, 1 chipotle pepper, salt.
  • Blend until smooth.
  • Set aside.

For the Fish Soup:

  • Heat oil in a large stock pot.
  • Carefully add the tomato sauce.
  • (Warning, it will splatter slightly when adding the tomato mixture).
  • Cook for 2 minutes, stirring constantly.
  • Add all the homemade fish broth. (Or, water + bouillons, if using)
  • Add the potatoes, carrots, and bay leaf.
  • Taste for salt.
  • Bring to boil.
  • Add the fish and cook for 3-5 minutes, depending on the thickness of the fish.
  • Serve in a deep bowl with lime wedges and top with chile de árbol and green onions.
  • Enjoy!



Instead of making homemade fish broth: Use store bough fish broth, vegetable broth, chicken broth, OR water plus seafood bouillon. 
Add more cooking time for a thicker cut of fish. 
For the Tomato Sauce: You can use canned tomato sauce instead.
  • Adjust this recipe by omitting the 3 tomatoes, 1 cup water, 1/2 onion, and garlic.
  • Replace with 1 can tomato sauce and blend with the chipotle and salt instead. 


Calories: 142kcal | Carbohydrates: 18g | Protein: 3g | Fat: 7g | Saturated Fat: 1g | Cholesterol: 1mg | Sodium: 2685mg | Potassium: 576mg | Fiber: 4g | Sugar: 6g | Vitamin A: 5864IU | Vitamin C: 23mg | Calcium: 60mg | Iron: 2mg