Girl Meets Fire

menu icon
go to homepage
  • Recipes
  • Traditional Puerto Rican Classics
  • About me
  • Subscribe
    • Email
    • Facebook
    • Instagram
    • Pinterest
  • subscribe
    search icon
    Homepage link
    • Recipes
    • Traditional Puerto Rican Classics
    • About me
    • Subscribe
    • Email
    • Facebook
    • Instagram
    • Pinterest
  • ×
    Home » Recipes » Soups, Stews, and Braised Dishes

    Caldo Santo, Puerto Rican Coconut Seafood Soup

    Portrait of a smiling woman chef in a home kitchen, used for the “About Me” section of Girl Meets Fire.
    Modified: Jun 10, 2025 · Published: Mar 25, 2025 by Zoe Forestier Villegas · This post may contain affiliate links ·

    This post may contain affiliate links.

    ↓ Jump to Recipe

    Caldo Santo, or Puerto Rican Coconut Seafood Soup, is a creamy coconut seafood soup enjoyed in Puerto Rico during Lent. Its silky broth, made with coconut milk, yautía, sofrito, and herbs, is rich and fragrant. Each spoonful reflects Taíno, African, and Spanish influences in a comforting coastal dish.

    Two bowls filled with caldo santo and tostones served with them.

    Caldo Santo, created in the coastal town of Loiza, is typically served during Lent here in Puerto Rico, but it is great year around. The combination of fish, crab, shrimp, and coconut milk has a delicate balance of creamy, sweet, and savory. Each spoonful is a taste of coastal tradition, blending indigenous Taíno, African, and Spanish influences into one nourishing dish. This caldo is delicious with Ceviche, Yellow Rice, Bacalao a la Vizcaina, and Guineos en Escabeche.

    For more Puerto Rican-inspired Lent recipes, try Arroz con Pollo, a one-pot meal great for family gatherings. Pan-seared Lamb Chops and Arroz con Habichuelas, Sweet Plantain Lasagna, or Lasaña de Berenjena/Eggplant Lasagna (omit the meat or use ground lamb for either) are also great. Arroz con Gandules is always great at special gatherings and festivities.

    Jump To
    • Why you'll love this recipe
    • Ingredient Notes
    • Variations and Substitutions
    • Want to make caldo santo lower in carbs or even ketogenic?
    • How to make Caldo Santo or Puerto Rican Coconut Seafood Soup
    • Top Tip: Use Fresh Coconut Milk-If you Can
    • Expert Tips
    • Recipe FAQs
    • More Soups and Stews Recipes
    • 📖 Recipe
    • Top Tip: Use Fresh Coconut Milk-If you Can
    • Comments

    Why you'll love this recipe

    • Delicious: This soup has such an outstanding balance of flavors. The sweetness of the coconut complements the sweetness of the crab and shrimp, as well as the savory flavors of the sofrito.
    • Creamy: The coconut milk gives the broth a smooth, velvety texture that enhances every bite.
    • Traditional and Special: A classic, lesser-known Puerto Rican dish, especially enjoyed during Lent, that showcases cultural heritage with its unique blend of flavors and textures.
    • Nourishing: Packed with protein from fish and fiber-rich root vegetables, making it both satisfying and wholesome.
    • Adaptable: Works beautifully with different seafood and vegetables, allowing easy customization.

    Ingredient Notes

    Ingredients for caldo santo numbered. 1. Coconut milk, 2. Fish broth, 3. Achiote oil, 4. Onions, 5. Grouper/mero, 6. Raw shrimp, 7. Crab meat, 8. Malnga, 9. Garlic paste, 10. Sofrito, 11. Yautia and plantain, 12. Seasonings: cumin, Sazon, black pepper, bay leaves, 13. Calabaza.
    • Coconut Milk: The heart of the dish, it creates a rich, creamy broth with a subtle sweetness that balances the seafood's brininess.
    • Fresh Fish (or Seafood like Crab and Shrimp): Provides the main protein and infuses the broth with deep, oceanic flavor.
    • Root Vegetables (Yautía, Plantain, or Malanga): Add thickness, natural starch, and a hearty texture to the soup. Malanga especially almost dissolves into the soup, adding to the creaminess of the final product. Not to mention, malanga provides a great amount of nutrition to this soup.
    • Sofrito: A mix of garlic, onions, peppers, and herbs that builds the dish's signature Puerto Rican flavor base.
    • Fresh Herbs (Cilantro and Culantro): Enhances the aroma and brings brightness to the creamy, savory broth.

    See my recipe card below for a complete list of the ingredients with measurements.

    Variations and Substitutions

    • Coconut Milk: Traditional Caldo Santo relies on coconut milk for its creamy texture and mild sweetness. If you want a lighter version, use evaporated milk instead. For a dairy-free alternative, try cashew or almond milk, though the flavor will be less rich.
    • Fish & Seafood: The classic recipe features white fish, shrimp, or crab, but you can switch it up based on availability. Use salmon for a richer taste, lobster for a luxurious twist, or cod if you prefer a firmer texture. If you don't eat seafood, substitute with chicken for a land-based take.
    • Root Vegetables: Yautía and malanga add thickness and body to the broth. If unavailable, try potatoes or cassava (yuca). For a lower-carb option, use cauliflower to create a similar creamy consistency without the starch.
    • Sofrito: This base gives the soup its signature depth. If you don't have a traditional sofrito, blend garlic, onions, bell peppers, and cilantro to make a quick version. If you prefer a smoky note, add roasted red peppers or a pinch of smoked paprika if achiote is unavailable.
    • If seafood isn't your thing, consider Sopa de Platano as an alternative.

    Want to make caldo santo lower in carbs or even ketogenic?

    Swap out the root vegetables for cauliflower, zucchini, or turnips, and use a high-fat fish like salmon to keep it rich without adding starches.

    How to make Caldo Santo or Puerto Rican Coconut Seafood Soup

    Here are the step-by-step instructions to make this coconut milk soup

    Steps for caldo santo. Step 1: sautéing shrimp shells. Step 2: adding achiote oil to shells, Step 3: shells removed from the pot. Step 4: sautéing onions in achiote oil.
    1. Saute shrimp shells in a little bit of olive oil. Doing this step infuses the oil with shrimp flavor.
    2. Once the shrimp shells turns pink, add achiote oil and saute for another minute.
    3. Remove the shrimp shells from the pot and discard.
    4. Add onions and adjust the oil if needed. Saute onions until translucent.
    Steps for caldo santo 5 to 8. Step 5: pot with achiote oil, sautéed onions, sofrito and garlic paste added to. It. Step 6: pot with vegetables cooked down and a glass measuring cup with coconut milk waiting to be added to the pot. Step 7. Pot with coconut milk and sautéed vegetables coming to a boil. Step 8: adding seasonings to the pot.
    1. Once the onions are translucent, add the sofrito and garlic paste and cook for about a minute. Sauteeing the sofrito and garlic paste enhances the depth of flavor in the soup.
    2. Add coconut milk.
    3. Let the coconut milk come to a simmer to infuse the coconut milk with the flavor of the sofrito.
    4. Add seasonings and bay leaf. Let cook for about a minute or two.
    Steps for caldo santo 9 to 12. Step 9: a bowl of cut root vegetables in water. Step 10: adding the drained root vegetables to the soup. Step 11: a bowl of calabaza over the pot of soup. Step 12: a bowl of cut fish chunks over the pot of soup.
    1. While the flavors mingle in the pot, peel and cut your root vegetables: yautia, malanga, and plantain. Place the cut vegetables in a bowl with water to keep them from oxidizing.
    2. Rinse the root vegetables, drain, and add to the simmering pot.
    3. Add calabaza. My calabaza was frozen, so I waited to add it, but if you have raw calabaza, add it with the root vegetables. Cook the vegetables for about 10 to 15 minutes. Taste broth and adjust seasoning if needed.
    4. Add the fish and shrimp. Cook for an additional five to minutes. This process will be very quick since seafood and fish cook relatively quick.
    A small bowl with crab meat to be added to the pot of caldo santo.
    1. If your crabmeat is cooked, add the crabmeat right at the very end of cooking. If you buy lump crabmeat (very delicious, but more expensive) do not mix the soup too much so not to break the lumps and save a few as garnish for your plate. If the crabmeat is raw, cook the soup for about five more minutes after adding.
    Wooden spoon with cooked fish, shrimp and pieces of crab resting on the pot with caldo santo.
    1. Test a piece of fish. I stopped cooking it once the fish started flaking, but it still did not fall apart.

    Top Tip: Use Fresh Coconut Milk-If you Can

    Grating and squeezing a fresh coconut gives the broth a richer flavor.

    Two bowls of caldo santo served with a bowl of tostones. Large pot of caldo santo sits near the served bowls.

    Expert Tips

    • Don't skip sofrito: it's the heart of the flavor.
    • Cut the root veggies evenly: To cook at the same rate and don't get mushy.
    • Let the broth simmer slowly: To build depth-rush it, and you'll miss out on flavor.
    • Add fish last: So as to not overcook it or fall apart.
    • Taste as you go: Coconut milk can mellow things out, so adjust salt and seasonings near the end.
    • Use a firm fish: Snapper or grouper-they hold up better in the broth.
    • Garnish with fresh cilantro or culantro: Before serving for a pop of freshness.

    Recipe FAQs

    What is Caldo Santo?

    It's a traditional Puerto Rican coconut-based seafood soup, often made during Lent or Easter.

    Can I use canned coconut milk?

    Yes, this recipe was made with canned coconut milk, but fresh coconut milk gives a more authentic and rich flavor.

    What kind of fish works best?

    Firm white fish like snapper, grouper, or cod are ideal-they don't fall apart in the broth.

    Can I make it ahead of time?

    Yes, but add the fish when reheating so it stays tender.

    Is caldo santo spicy?

    Not usually, but you can add a little chile or pique if you like heat.

    Can I freeze it?

    It's best fresh, but you can freeze the broth without the fish and add fresh fish when reheating.

    What do you serve with caldo santo?

    A side of white rice or tostones works great for soaking up the broth. Add a wedge of avocado and a piece of pan de agua.

    Table set with two bowls of caldo santo and tostones.

    More Soups and Stews Recipes

    • Overhead view of a single bowl of plantain soup with a cream swirl, bread slice on the rim, and wooden spoon on a blue napkin.
      Sopa de Plátano (Plantain Soup)
    • Overhead view of a stainless steel pot filled with chicken broth on a wooden countertop.
      Homemade Chicken Broth Recipe
    • Overhead view of Puerto Rican ropa vieja (shredded beef stew) with white rice, stewed beans, and tomato slices, on a plate.
      Ropa Vieja (Shredded Beef Recipe)
    • Close-up of shrimp and scallop stew over white rice, black beans, and fried sweet plantain, with a side of avocado and extra stew in the background.
      Quick Shrimp and Scallop Stew
    See more Soups, Stews, and Braised Dishes →

    I'd love to hear from you! Did you try this recipe? Leave a review and rating below. Let's connect on Instagram, and don't forget to join my weekly email list for fresh new recipes.

    📖 Recipe

    Caldo santo served in a bowl with tostones.

    Caldo Santo, Puerto Rican Coconut Seafood Soup

    Zoé Forestier
    Caldo Santo, or Puerto Rican Coconut Seafood Soup, is a creamy coconut seafood soup enjoyed in Puerto Rico during Lent. Its silky broth, made with coconut milk, yautía, ñame, sofrito, and herbs, is rich and fragrant. Each spoonful reflects Taíno, African, and Spanish influences in a comforting coastal dish.
    5 from 1 vote
    Print Recipe Pin Recipe
    Prep Time 15 minutes mins
    Cook Time 1 hour hr
    0 minutes mins
    Total Time 1 hour hr 15 minutes mins
    Course Soup, Stews and Soups
    Cuisine Puerto Rican
    Servings 10 servings
    Calories 380 kcal

    Equipment

    • 1 stock pot

    Ingredients
      

    • 2 tablespoon achiote oil
    • 1 onion peeled and dice
    • 1 tablespoon garlic paste
    • 2 tablespoon sofrito
    • 1 tablespoon sazon
    • 1 teaspoon cumin
    • ½ teaspoon black pepper
    • 2 cups fish broth
    • 2 cans coconut milk 4 cups fresh coconut milk
    • 1 malanga or to taste
    • 1 yautia or to taste
    • 1 plantain or to taste
    • 1 cup calabaza
    • 1 lbs mero/grouper no skin, no bones, cut into bite-sizes
    • 1 lbs shrimp peeled and deveined (save the shells if available to saute at the beginning of the recipe)
    • 1 lbs crab meat
    Prevent your screen from going dark

    Instructions
     

    • Saute shrimp shells in a little bit of olive oil. Doing this step infuses the oil with shrimp flavor.
    • Once the shrimp shells turn pink, add achiote oil and saute for another minute.
    • Remove the shrimp shells from the pot and discard.
    • Add onions and adjust the oil if needed. Saute onions until translucent.
    • Once onions are translucent, add sofrito and garlic paste. Cook for about a minute. Sauteeing the sofrito and the garlic paste enhances the depth of flavor in the soup.
    • Add coconut milk.
    • Let the coconut milk come to a simmer to infuse the coconut milk with the flavor of the sofrito.
    • Add seasonings and bay leaf. Let cook for about a minute or two.
    • While the flavors mingle in the pot, peel and cut your root vegetables: yautia, malanga, and plantain. Place the cut vegetables in a bowl with water to keep them from oxidizing.
    • Rinse the root vegetables, drain, and add to the simmering pot.
    • Add calabaza. My calabaza was frozen, so I waited to add it, but if you have raw calabaza, add it with the root vegetables. Cook the vegetables for about 10 to 15 minutes. Taste broth and adjust seasoning if needed.
    • Add the fish and shrimp. Cook for an additional five to minutes. This process will be very quick since seafood and fish cook relatively quick.
    • If your crabmeat is cooked, add the crabmeat right at the very end of cooking. If you buy lump crabmeat (very delicious, but more expensive) do not mix the soup too much so not to break the lumps and save a few as garnish for your plate. If the crabmeat is raw, cook the soup for about five more minutes after adding.
    • Test a piece of fish. I stopped cooking it once the fish started flaking, but it still did not fall apart.
    QR Code

    Notes

    Top Tip: Use Fresh Coconut Milk-If you Can

    Grating and squeezing a fresh coconut gives the broth a richer flavor.
    • Don't skip sofrito: it's the heart of the flavor.
    • Cut the root veggies evenly: To cook at the same rate and don't get mushy.
    • Let the broth simmer slowly: To build depth-rush it, and you'll miss out on flavor.
    • Add fish last: So as to not overcook it or fall apart.
    • Taste as you go: Coconut milk can mellow things out, so adjust salt and seasonings near the end.
    • Use a firm fish: Snapper or grouper-they hold up better in the broth.
    • Garnish with fresh cilantro or culantro: Before serving for a pop of freshness.
    •  
    •  
    •  
    •  
    •  
    •  

    Nutrition

    Serving: 8ozCalories: 380kcalCarbohydrates: 28gProtein: 29gFat: 18gSaturated Fat: 15gPolyunsaturated Fat: 0.5gMonounsaturated Fat: 1gTrans Fat: 0.002gCholesterol: 110mgSodium: 652mgPotassium: 897mgFiber: 2gSugar: 5gVitamin A: 359IUVitamin C: 18mgCalcium: 98mgIron: 4mg
    Did you try this recipe?Please consider Leaving a Review, and if you loved it, give it a ⭐⭐⭐⭐⭐ rating too! It helps others find the recipe and tells Google it's worth a try. 😊

    More Puerto Rican and Global Inspirations

    • Pot of Puerto Rican fish broth on a wooden cutting board, showing its golden color and clean, simmered appearance.
      Puerto Rican Fish Broth, Caldo de Pescado
    • Overhead view of a skillet filled with Mojo Isleño, a chunky Puerto Rican tomato sauce with olives, onions, and garlic, simmering on a striped wood board.
      Mojo Isleño, Puerto Rican Tomato Sauce for Fish and Seafood
    • Close-up of Seafood Pomodoro pasta with linguine, topped with culantro gremolata and shredded Parmesan in a white bowl.
      Seafood Pomodoro Pasta with Linguine
    • Steamed mussels and clams served in a rustic terracotta dish, with crusty bread and a small bowl of sofrito sauce on the side.
      Puerto Rican Steamed Mussels With Sofrito White Wine Sauce

    Comments

    1. Zoe Forestier Villegas says

      April 09, 2025 at 8:16 pm

      5 stars
      Delicious coconut comfort!!

    5 from 1 vote
    Woman holding a wooden spoon and smiling in a kitchen with hanging utensils and a vase of flowers on the counter.

    Hola! I'm Zoe. I love all things food and enjoy cooking. I created this site to reconnect with my Puerto Rican heritage while living in the United States. This is a great place to reconnect if you are floating in the diaspora. I would love to hear from you!

    About Zoe →

    Puerto Rican Christmas

    • Arroz con gandules covered with banana leaves, served alongside carne frita on a holiday table.
      Arroz Con Gandules Recipe (Puerto Rican Rice and Pigeon Peas)
    • Collage of traditional Puerto Rican Christmas dishes including pernil, arroz con gandules, coquito, tembleque, arroz con dulce, and guineitos en escabeche, with a banner that reads “15 Essential Puerto Rican Christmas Recipes.”
      15 Puerto Rican Christmas Essentials (And a Few Delicious Extras)
    • Two glasses of cookies-and-cream coquito with crushed-cookie rims, surrounded by Oreo cookies and coquito ingredients, blurred in the background.
      Bacardi Gold Cookies and Cream Coquito
    • Top view of a molded pistachio tembleque garnished with shredded coconut and chopped pistachios on a white plate.
      Pistachio Tembleque
    • Close-up of a forkful of arroz mamposteao, Puerto Rican rice and beans, held above a bowl on a blue patterned cloth.
      Mamposteao, a Puerto Rican Leftover Rice Comfort Food
    • A hand holding a smashed plantain. The rest of the plantains are in a towel-lined bowl sits behind it.
      Tostones de Plátano (Puerto Rican Smashed Fried Plantains)
    See more Christmas Recipes →

    Popular Recipes

    • A plate of polvorones cookies with three semi-stacked cookies on top of the table resting in front of the plate.
      Puerto Rican Polvorones (Shortbread Cookies)
    • A blue and white dessert plate with a slice of bread pudding and caramel sauce on top of it.
      Budín de Pan (Puerto Rican Bread Pudding)
    • Close-up of a roasted chicken thigh served with guineos en escabeche, cherry tomatoes, and a side of macaroni salad partially visible.
      Puerto Rican Pollo Asado, Oven-Roasted Chicken
    • Close-up of shrimp and scallop stew over white rice, black beans, and fried sweet plantain, with a side of avocado and extra stew in the background.
      Quick Shrimp and Scallop Stew
    • A fork full of Pernil with a large serving bowl, avocados, dinner rolls, and small serving bowls with meat on the background.
      Instant Pot Puerto Rican Pernil (Pork Roast)
    • A hand holding a white bowl of funche topped with a dab of butter.
      Funche, Puerto Rican Grits

    I’d love to hear from you! Did you try this recipe? Leave a review and rating below. Let’s connect on Instagram, and don’t forget to join my weekly email list for fresh new recipes.

    Footer

    Get new Puerto Rican recipes in your inbox every week!

    Subscribe
    ↑ back to top

    Explore

    • About Me
    • Firestarter Planner
    • Subscribe and eBook
    • Media Kit
    • Portfolio

    About

    • Contact
    • Cookie Policy
    • Privacy Policy
    • Terms of service
    • Accessibility Statement

    Copyright © 2025 Girl Meets Fire LLC • Powered by Feast+ • This website contains affiliate links, which means that if you click on a product link, we may receive a commission in return. Girl Meets Fire LLC participates in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com.

    .

    Rate This Recipe

    Your vote:




    A rating is required
    A name is required
    An email is required

    Recipe Ratings without Comment

    Something went wrong. Please try again.