Sopa de pescado (Fish Soup) is one of those Dominican soups that come with stories. Because it’s not just soup; it’s remedio, it’s care, and yes… sometimes it’s the legendary sopa levanta muertos. In DR, a hot bowl made with fish heads is the kind of thing people swear can bring you back to life after a long night out (and honestly, the way that broth hits? I get it).
What I love most is how humble and smart it is: fish heads make a rich, deeply flavored stock without needing fancy ingredients. Then you build it out with auyama (kabocha squash), potatoes, fideos, and that final splash of jugo de naranja agria that makes everything taste bright and “alive.”
And if you’re in your soup era (same), you’ll also love my Dominican Chicken Soup (Sopa de Pollo) and Sancocho Dominicano. Two more bowls that feel like home. For a seafood comfort vibe that leans creamy and coastal, check out my Fish in Coconut Sauce too.

Step-by-Step Instructions
Start by bringing the water to a boil in a large pot over medium-high heat, then add the red snapper and the fish heads. Let it cook for about 20 minutes, just until the fish is tender and cooked through. Turn off the heat and carefully lift the fish out. Don’t toss that cooking water, because that’s your flavorful broth.
Once the fish is cool enough to handle, separate the meat from the bones and set the meat aside. Sprinkle it with a little salt (this small step makes a difference later). Discard the bones and heads, then strain the broth into a clean pot so the soup stays smooth and bone-free.

Now the soup really starts: add the garlic, squash, carrot, potatoes, cubanelle pepper, onion, celery, culantro, cilantro, bouillon, oregano, fideos, salt, and black pepper to the broth. Cook uncovered until the vegetables are tender, about 20 to 25 minutes. The broth will smell herby, savory, and very Dominican.
To thicken and deepen the flavor (without heavy cream or anything fancy), blend the garlic, cubanelle pepper, onion, celery, culantro, cilantro, and half of the squash until smooth, then pour that puree back into the pot. Add the cooked fish, stir gently so it doesn’t break up too much, and finish with fresh bitter orange juice. Taste and adjust salt and pepper to your liking.
Serve it hot in soup bowls, traditionally with avocado on the side—simple, perfect, and exactly how it’s meant to be.
Serving Suggestions
- Serve this fish soup (sopa de pescado) with sliced avocado (classic) and a little extra naranja agria or lime at the table.
- For a full Dominican meal, pair it with White Rice (Arroz Blanco)—that cozy rice + broth combo always makes sense.
- Add something crunchy on the side like Tostones or Air Fryer Tostones for dipping and scooping.

Storage Tips
Refrigerator: Store cooled soup in an airtight container for up to 3 days.
Reheating: Warm gently on the stove over medium-low heat until steaming. Add a splash of water if it thickens.
Freezer: The broth and vegetables freeze well for up to 2 months, but the noodles soften a lot after freezing. For best texture, freeze the soup and add fresh fideos when reheating.
Recipe Tips
- About the fish heads: In the Dominican Republic, fish heads are a traditional (and affordable) way to make a rich stock. This is where the deep flavor comes from.
- Straining matters: Passing the broth through a strainer keeps the soup enjoyable and bone-free.
- Culantro vs cilantro: Culantro (cilantro ancho) gives that bold, “soup shop” Dominican aroma. Cilantro adds freshness. Together = magic.
- More seafood comfort: Anyone who loves this soup should try my Asopao de Camarones next. It’s another cozy, spoonable favorite.

Sopa de Pescado (Dominican Fish Head Soup)
Author:Equipment
Ingredients
- 1 ¾ pounds red snapper (794 g), heads separated (about 3 whole fish)
- 10 cups water (2.5 liters)
- 4 garlic cloves, lightly pressed (about 12 g)
- ½ pound kabocha squash (auyama) (227 g), cubed
- 1 medium carrot, peeled and sliced (about 90 g)
- ½ pound Russet potatoes (227 g), peeled and cubed
- ½ medium cubanelle or bell pepper (about 60 g)
- ½ small onion (about 35 g)
- 1 celery stalk (about 40 g)
- 3 fresh culantro leaves (cilantro ancho)
- 1 tablespoon chopped cilantro, including stems (about 3 g)
- 1 ½ vegetable bouillon tablets (about 15 g)
- ½ teaspoon dried oregano (about 0.5 g)
- 2 ounces angel hair pasta (fideos), (about 57 g)
- ¾ teaspoon salt (about 4.5 g), divided
- ¼ teaspoon ground black pepper (about 0.5 g)
- 2 tablespoons fresh bitter orange juice (30 ml)
Instructions
- In a large pot over medium-high heat, boil the fish and fish heads in the water for about 20 minutes, or until the fish is tender. Turn off the heat. Remove the fish and set the broth aside.
- Carefully separate the fish bones from the meat. Reserve the broth. Sprinkle ¼ teaspoon salt over the fish meat and set aside. Discard the fish bones and heads.
- Strain the fish broth into a clean pot to remove any small bones.
- Add the garlic, squash, carrot, potatoes, cubanelle pepper, onion, celery, culantro, cilantro, bouillon, oregano, fideos, remaining salt, and black pepper. Cook uncovered over medium-high heat for 20–25 minutes, until the vegetables are tender.
- Transfer the garlic, cubanelle pepper, onion, celery, culantro, cilantro, and half of the squash to a blender and puree until smooth. Stir the puree back into the pot.
- Add the cooked fish and stir to combine. Stir in the bitter orange juice and season with additional salt and pepper to taste.
- Serve hot in soup bowls with avocado.
Notes
- In the Dominican Republic, this soup is traditionally made with fish heads to create a rich broth. Fish heads are more affordable than fillets and add deep flavor at a lower cost.
- Straining matters: Passing the broth through a strainer keeps the soup enjoyable and bone-free.
Nutrition
The nutritional information of this recipe and all recipes on mydominicankitchen.com is only an estimate. The accuracy of any recipe on this site is not guaranteed.



Let us know your thoughts!