Soups & Stews
This Brazilian shrimp soup recipe delivers the vibrant flavors of Bahia in a single bowl—creamy coconut milk, bright citrus, and tender shrimp crowned with a golden, crispy bread topping.
The secret lies in balancing traditional ingredients like lime zest and fresh cilantro with the rich depth of tomato paste and garlic, creating a broth that's both comforting and refreshing.
What sets this apart is the crispy bread crust, which adds texture and soaks up every last drop of flavorful broth.
The recipe begins with a fragrant base of onions, garlic, and ginger sautéed until aromatic, then simmered with coconut milk, tomatoes, and a touch of heat from red pepper flakes.
Shrimp are added just before serving to maintain their delicate texture, while lime juice and cilantro brighten the dish at the end. The crispy bread topping transforms this into a complete meal—no sides needed.
What you'll achieve is a soup that's rich yet light, creamy yet zesty, with every spoonful packed with layers of flavor. The crispy bread topping adds a satisfying crunch that contrasts beautifully with the velvety broth.
This recipe captures the essence of Brazilian coastal cuisine while being simple enough for weeknight dinners.
Perfect for warm evenings or as a starter for a Brazilian feast, this soup comes together in just 45 minutes. The ingredients are accessible, and the steps are straightforward, making it an ideal dish for both beginners and experienced cooks looking to explore authentic flavors. Let's get cooking!
Ingredients for brazilian shrimp soup
Creamy coconut milk meets bright citrus and tender shrimp in this vibrant Bahian-inspired bowl.
| Ingredient | Amount | Notes |
|---|---|---|
| Large Shrimp (Peeled & Deveined) 🦐 | 1 ½ lb | Fresh or frozen, thawed if frozen |
| Yellow Onion 🧅 | 1 whole | Medium size, diced |
| Garlic Cloves 🧄 | 4 cloves | Fresh, minced |
| Fresh Ginger 🌿 | 1 ½ tbsp | Grated, peeled |
| Coconut Milk (Canned) 🥥 | 13 ½ oz | Full-fat, unsweetened |
| Canned Tomato Paste 🍅 | 2 tbsp | Smooth, no sugar added |
| Fresh Lime 🍋 | 1 whole | Zest + juice, organic preferred |
| Fresh Cilantro 🌿 | ½ cup | Chopped, stems removed |
| Red Pepper Flakes 🌶️ | ½ tsp | Adjust for heat preference |
| Olive Oil 🫒 | 2 tbsp | Extra-virgin for richness |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground preferred |
| Baguette 🍞 | 1 whole | Stale or lightly toasted |
| Butter 🧈 | 1 tbsp | Unsalted, melted |
The shrimp should be fresh or high-quality frozen—look for plump, firm tails at the seafood counter. Whole Foods or Trader Joe's often carry sustainably sourced shrimp, but any reputable fishmonger works. For the coconut milk, full-fat is non-negotiable—it creates that luxurious creaminess. The canned variety from Goya or Thai Kitchen brands delivers consistent results. Fresh ginger and lime zest are where the magic happens—skip pre-grated ginger (it's often dried and dusty) and zest your lime yourself for that bright pop.
No fresh cilantro? Fresh parsley works in a pinch, though it lacks that signature Brazilian brightness. Short on lime? Key lime juice or lemon juice bridges the gap, but add a pinch more salt to balance. The tomato paste can be swapped for 1 cup crushed tomatoes if you prefer, though paste gives deeper umami. For the bread topping, stale baguette is ideal—it crisps perfectly. No baguette? French bread or crusty sourdough works too, just tear it into bite-sized pieces. The butter on the bread is optional but recommended—it adds richness that complements the coconut.
Store shrimp in the fridge for up to 2 days if not using immediately, or freeze for 3 months. Coconut milk keeps unopened for 2 years and opened for 5 days in the fridge. The bread topping can be prepped ahead and reheated for 2-3 minutes at 375°F to restore crispiness. This soup actually tastes better the next day as flavors meld—double the batch if you're feeding a crowd, as leftovers reheat beautifully. Serve with extra lime wedges and cilantro for garnish.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this—just shrimp, onion, garlic, and ginger simmering in coconut milk until the broth turns golden and fragrant. No extra pots, no fuss, and the shrimp practically cooks itself in that rich, velvety liquid.
- Ginger-Garlic Punch: That fresh ginger and minced garlic? They hit different—bright, zesty, and just enough heat to make your taste buds wake up. The coconut milk softens the kick but keeps it lively, like a warm hug for your palate.
- Weeknight or Fancy: Serve it with crusty bread for a lazy Tuesday dinner or drizzle with lime and cilantro for a restaurant-worthy bowl. Same recipe, totally different vibes—no need to reinvent the wheel.
- Leftovers That Don’t Suck: Honestly, this soup improves the next day. The flavors meld even deeper, and the coconut milk thickens just enough to make it feel like a whole new dish. Plus, it reheats in minutes—my lazy Sunday secret weapon.
Step-by-step instructions for Brazilian shrimp soup
This method delivers a rich coconut-citrus broth with perfectly tender shrimp and a golden, crispy bread topping.
Sauté Aromatics for Flavor Foundation
Heat the 2 tablespoons olive oil in a large pot over medium heat. Add the 1 whole diced yellow onion and cook for 5 minutes until softened and translucent. The onions should release their natural sweetness without browning.
Add the 4 minced garlic cloves and 1.5 tablespoons grated fresh ginger, cooking for another 2 minutes until fragrant. This aromatic base forms the flavor backbone of your soup. If you notice the garlic starts to brown too quickly, reduce the heat slightly to prevent bitterness.
Build the Coconut-Citrus Broth
Stir in the 2 tablespoons canned tomato paste and cook for 1 minute to deepen its flavor. Pour in 13.5 ounces coconut milk and bring the mixture to a gentle simmer over medium-low heat. Add 1.5 teaspoons salt, 0.5 teaspoon black pepper, and 0.5 teaspoon red pepper flakes for balanced seasoning.
Simmer uncovered for 10 minutes, allowing the coconut milk to infuse with the aromatics. The broth should develop a rich, creamy texture with subtle citrus notes. If you notice the mixture separates, whisk gently to re-emulsify before proceeding.
Cook Shrimp to Perfect Tenderness
Add the 1.5 pounds peeled and deveined large shrimp to the simmering broth. Cook for 3-4 minutes until the shrimp turn pink and opaque throughout. Overcooking will make them rubbery, so time this carefully. The shrimp should curl slightly but remain tender.
Remove the shrimp with a slotted spoon and set aside. Stir the juice of 1 whole fresh lime and lime zest into the broth, brightening the flavors. This citrus infusion balances the richness of the coconut milk and enhances the shrimp's natural sweetness.
Prepare the Crispy Baguette Topping
Preheat your oven to 375°F. Cut the 1 whole baguette into ½-inch thick slices and arrange them in a single layer on a baking sheet. Brush each slice generously with the 1 tablespoon melted butter and sprinkle lightly with 0.5 cup chopped fresh cilantro.
Bake for 8-10 minutes until the bread is golden brown and crispy on top. The edges should be slightly charred while the centers remain soft. This crispy topping adds texture contrast and soaks up the flavorful broth beautifully.
Assemble and Serve Immediately
Return the cooked shrimp to the broth and gently stir to combine. Ladle the soup into bowls, placing 2-3 baguette slices on top of each serving. The contrast between the warm, creamy broth and crispy bread creates the perfect texture experience.
Garnish with additional chopped cilantro and serve immediately while the bread remains crispy. Each spoonful should deliver a harmonious blend of coconut richness, citrus brightness, and tender shrimp with a satisfying crunch from the bread topping.
Pro Tips For Making Brazilian Shrimp Soup
- Sear Shrimp First: Cook your shrimp in a dry pan for 30 seconds per side before adding liquid—this locks in flavor and keeps them from turning rubbery when the coconut milk hits. I used to skip this, and the soup always tasted like the shrimp had given up midway.
- Mince Ginger Like You Mean It: Use a microplane or fine grater for ginger, then let it sit in the oil for 30 seconds before adding onions—this draws out the spice without bitterness. After burning my tongue on overcooked ginger chunks, I learned to treat it like a fine powder.
- Don’t Rush the Coconut Milk: Simmer the coconut milk on low heat after adding it, or it’ll split into a greasy mess. I’ve seen this happen twice—once, I had to start over because the soup looked like a science experiment gone wrong.
- Toast the Garlic Last: Add garlic to the pot only in the final 2 minutes of cooking—this prevents it from burning and overpowering the delicate shrimp flavor. My grandmother’s rule: "Garlic deserves a gentle send-off, not a fryer’s welcome."
Pro cooking tips for this recipe
Citrus Brightness Key
Fresh lime zest and juice are the secret weapons in this soup—they cut through the coconut richness and elevate every bite. I always zest my lime first, then juice it, to maximize that bright, floral aroma.
Use organic limes when possible, as their thicker skins yield more zest. If you can't find fresh limes, key lime juice works well, but add an extra pinch of salt to balance the tartness. 🍋
Coconut Milk Texture Tricks
To prevent the coconut milk from separating during cooking, whisk it vigorously before adding it to the pot. If you notice separation later, simply whisk gently or stir with a wooden spoon to re-emulsify.
For extra creaminess, I sometimes add 1 tablespoon cornstarch mixed with 2 tablespoons water at the end of cooking—this thickens the broth just enough to make it more luxurious. Full-fat coconut milk is non-negotiable here; lighter versions won't give the same velvety texture.
Shrimp Timing Mastery
Shrimp cook in a flash—just 3-4 minutes in this broth—but timing is everything. Start testing for doneness at the 3-minute mark by checking the largest shrimp first. They're done when they turn opaque pink and curl slightly. Overcooking by even 30 seconds turns them rubbery.
I like to remove them with a slotted spoon and set them aside on a plate lined with paper towels to catch any excess broth before returning them to the pot.
Crispy Bread Hacks
The bread topping should be crispy on top but still soft inside—this contrast is what makes it irresistible. For extra crunch, I brush the baguette slices with melted butter and sprinkle them with a tiny bit of smoked paprika before baking.
If your oven runs hot, reduce the temperature to 350°F and check at the 7-minute mark to avoid burning. For a shortcut, toast the bread slices in a dry skillet over medium-high heat for 1-2 minutes per side until golden.
Flavor Layering Order
Adding ingredients in the right sequence is crucial for balanced flavor. Start with the aromatics, then tomato paste, coconut milk, and spices—this builds a flavorful base. The shrimp go in last to keep them tender, and the lime is added right before serving to preserve its brightness.
If you're worried about the shrimp overcooking while you prepare the bread topping, cook them first and hold them in a bowl of ice water until ready to serve. This keeps them perfectly tender while you finish the rest of the dish. 💡
Nutrition facts
Frequently asked questions
Can I substitute coconut milk with another dairy product? While coconut milk is essential for authentic flavor, you can use 1 cup heavy cream plus ½ cup whole milk for a similar richness. For a lighter version, ½ cup evaporated milk mixed with ½ cup water works, though the texture will be thinner.
How do I adjust the heat level for picky eaters?
Simply reduce or omit the red pepper flakes entirely. For a milder kick, add just ¼ teaspoon and taste before serving. The lime juice already provides natural brightness, so the soup remains flavorful without spice. You can also replace it with ½ teaspoon smoked paprika for depth without heat.
What's the best way to reheat leftovers?
Reheat gently on the stovetop over low heat for 3-4 minutes, stirring occasionally to prevent separation. For the bread topping, refresh crispiness by toasting slices in a dry skillet for 1 minute per side or baking at 375°F for 3-4 minutes. Never microwave the bread—it becomes soggy!
Can I make this soup vegetarian?
Replace shrimp with 1 cup chickpeas (cooked until tender) or 12 oz firm tofu (pressed and cubed). For extra protein, add ½ cup cooked lentils. The coconut-citrus broth remains the star, and the crispy bread topping adds satisfying texture. Just reduce simmering time to 5 minutes for chickpeas/tofu.
Why did my coconut milk separate?
This happens when coconut milk isn't whisked before heating or when the pot isn't hot enough. Stir gently with a wooden spoon to re-emulsify, then return to medium-low heat for 2 minutes. For prevention, whisk 1 tablespoon cornstarch mixed with 2 tablespoons water into the broth at the end of cooking. The soup will still taste delicious!
