Soups & Stews
This African fish soup recipe brings the vibrant flavors of West Africa to your kitchen, where smoky spices and tender fish create a dish that’s both comforting and deeply satisfying. The secret lies in building layers of flavor—starting with a rich tomato base, then infusing it with aromatic peppers, onions, and herbs that transform simple ingredients into something extraordinary. Every spoonful delivers a perfect balance of heat, acidity, and umami, making it a staple in homes across the continent.
The magic happens in the slow simmer, where fish stock and fresh leafy greens like spinach or bitter leaf meld into a velvety broth that’s both hearty and light. Traditional recipes call for firm white fish like tilapia or mackerel, but don’t be afraid to experiment with local varieties. The dish is elevated further with crispy fried plantains on the side, adding a sweet contrast to the savory soup. This recipe stays true to its roots while offering flexibility for modern twists, like adding coconut milk for creaminess or smoked fish for depth.
What makes this dish truly special is its ability to feed a crowd—perfect for gatherings or weeknight dinners. The aroma alone will fill your home with warmth, while the texture of tender fish, silky broth, and crisp plantains creates a sensory experience that’s impossible to resist. Whether you’re serving it with fufu, rice, or crusty bread, this soup is a celebration of African culinary tradition in every bite.
The best part? It’s easier than it sounds. With just a handful of pantry staples and a little patience, you’ll have a restaurant-quality dish that feels like a hug in a bowl. Let’s get cooking—your taste buds (and dinner guests) will thank you.
Ingredients for african fish soup
These vibrant ingredients transform into a soul-warming African fish soup that feeds a crowd with ease.
| Ingredient | Amount | Notes |
|---|---|---|
| Fresh White Fish Fillets 🐟 | 1 ½ lb | Tilapia or mackerel preferred |
| Canned Crushed Tomatoes 🍅 | 15 oz | San Marzano if available |
| Yellow Onions 🧅 | 1 whole | Diced, medium size |
| Scotch Bonnet Peppers 🌶️ | 2 whole | Seeds removed for mild heat |
| Fresh Red Bell Peppers 🌶️ | 1 whole | Diced, any color |
| Fresh Garlic Cloves 🧄 | 6 cloves | Minced, aromatic |
| Fresh Thyme Sprigs 🌿 | 2 whole | Leaves only, about 1 tbsp |
| Fresh Parsley 🌿 | ¼ cup | Chopped, for garnish |
| Fresh Spinach 🍃 | 4 oz | Or bitter leaf if available |
| Fish Stock 💧 | 3 cups | Homemade or quality store-bought |
| Green Plantains 🍌 | 2 whole | For crispy frying |
| Vegetable Oil 🫒 | ½ cup | For frying plantains |
| Ground Black Pepper 🌶️ | 1 tsp | Freshly cracked |
| Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Smoked Paprika 🌶️ | 1 tsp | For smoky depth |
The fish is the star—tilapia or mackerel hold up best to the long simmer. Whole fish fillets from the seafood counter (ask for skinless) save time, but don't skip the freshness check: the flesh should smell clean and glisten slightly. For the tomatoes, San Marzano makes all the difference with its sweet, meaty texture, but any quality canned tomatoes work in a pinch. The Scotch bonnet peppers are non-negotiable for that signature heat—if you can't find them, habanero at half the amount gets you close. Trader Joe's or Latin markets usually carry them fresh or frozen. Fresh thyme and parsley? Grab bunches and use half now, half later—they keep beautifully wrapped in damp paper towels.
No fish stock? Vegetable stock with a splash of soy sauce works surprisingly well. Short on spinach? Bitter leaf or Swiss chard bring that same earthy punch. The plantains? Green and firm is key for crispy frying—yellow ones get mushy. For the frying oil, vegetable or peanut oil both work, but peanut adds a nice nutty flavor. The smoked paprika gives that signature African depth—Penzeys or bulk bins have the best quality. Want extra smokiness? Add a pinch of liquid smoke (just a dash, it's potent!). And if you're feeling fancy, a dash of palm oil at the end adds authentic richness.
This soup tastes even better the next day—make extra and freeze portions. The broth keeps for 5 days in the fridge, while the fish stays fresh for 3 days. For the plantains, fry them fresh—they lose crispiness fast. Store them in a paper bag at room temp for up to 3 days. The fish stock can be made ahead and frozen for up to 3 months. Pro tip: Double the broth and use half for soup, half for rice or fufu—you'll thank yourself later.
Why You'll Love This Recipe
- Pantry-Friendly Magic: I swear by this recipe when my fridge is bare but my wallet isn’t. Crushed tomatoes and onions act as the backbone—no fancy prep, just chop and simmer. That Scotch bonnet? One little pepper adds heat that lingers, turning a simple fish fillet into something unforgettable.
- Heat Meets Comfort: Between us, this soup is ridiculously good—bright from the red bell peppers, deep from the tomatoes, and that fish? Melts in your mouth while the Scotch bonnet sneaks up on you. It’s the kind of flavor that makes you pause mid-bite, even when you’re just reheating leftovers.
- Office Lunch Hero: I’ve packed this in mason jars for work, and honestly? It’s the only soup that doesn’t taste sad the next day. The fish stays flaky, the broth stays rich, and the peppers add a zing that wakes up a boring afternoon. Plus, it’s light enough for summer but hearty enough for winter.
- Budget Stretch Star: Here’s what sold me—this feeds four for under $15, and the leftovers? Even better. The tomatoes and onions bulk it up, so you’re not just paying for the fish. I’ve made it for date nights, family dinners, and solo Sundays, and it’s never let me down. That’s a win.
Step-by-step instructions for African fish soup with crispy plantains
Here's how to create a vibrant, flavor-packed African fish soup with perfectly crispy plantains on the side.
🍳 Step 1: Fry the Green Plantains to Golden Crisp
Peel the 2 whole green plantains and slice them into ¼-inch thick rounds. Heat 0.5 cup vegetable oil in a large skillet over medium-high heat until shimmering but not smoking. Fry the plantain slices in batches for 3-4 minutes per side until they turn a deep golden brown and feel crispy when pressed with tongs.
Transfer the fried plantains to paper towels to drain excess oil. Keep them warm in a 200°F oven while you prepare the soup—they'll stay crispy until serving. This step is crucial for the perfect texture contrast that makes this dish so satisfying. If the oil gets too dark or smoky, discard it and use fresh oil for the next batch.
🍳 Step 2: Build the Spiced Tomato Base
In a large pot, heat 0.25 cup vegetable oil over medium heat. Add the diced yellow onions and cook for 3 minutes until softened. Stir in the diced red bell peppers, minced garlic cloves, and seeds-removed Scotch bonnet peppers, cooking for 2-3 minutes until the onions turn translucent and the garlic releases its aroma.
Add the 15 oz canned crushed tomatoes, 1 tsp smoked paprika, 1.5 tsp salt, and 1 tsp ground black pepper. Stir well and let the mixture simmer uncovered for 10 minutes until it thickens slightly and the raw tomato taste disappears. This is where all the deep, smoky flavors develop—don't rush this step. The tomatoes should reduce enough to coat the back of a spoon.
🥘 Step 3: Infuse the Fish Stock with Herbs
Add the 3 cups fish stock to the tomato mixture and bring to a gentle boil. Stir in the thyme leaves (about 1 tablespoon) and let it simmer for 5 minutes to infuse the stock with herbal notes. This is the foundation of your soup—rich, aromatic, and full of depth. If you're using bitter leaf instead of spinach, add it now and cook for 2 minutes until just wilted.
Add the 4 oz fresh spinach and cook for 1-2 minutes until just wilted but still vibrant green. Remove from heat and let the soup rest for 5 minutes—this allows the flavors to meld beautifully. The spinach should be tender but not mushy, as it will cook further when the fish is added.
🍳 Step 4: Cook the Fish to Flaky Perfection
Gently add the 1.5 lb fresh white fish fillets to the soup and simmer over low heat for 8-10 minutes. You'll know they're done when the fish flakes easily with a fork and turns opaque in color. Be careful not to overcook—the fish should remain moist and tender. If you're using tilapia, it will cook faster than mackerel, so check it at the 6-minute mark if concerned.
Remove the fish from the soup and set it aside on a plate. Keep the soup warm over low heat while you prepare to serve. The fish should be firm to the touch but still moist inside—this is the hallmark of perfectly cooked fish for soups.
🍽️ Step 5: Assemble and Garnish
Return the fish to the soup and ladle it into bowls. Garnish each serving with chopped fresh parsley and serve immediately with the crispy fried plantains on the side. The contrast between the silky fish soup and the crispy plantains is what makes this dish truly special. For extra flavor, you can also serve with warm fufu or jollof rice if desired.
This soup is best enjoyed fresh while the fish is still warm and the plantains are at their crispiest. The aromatic herbs and smoky paprika create a symphony of flavors that will transport you straight to West Africa with every spoonful. Don't forget to adjust the salt to taste—some fish stocks can be saltier than others.
Pro Tips For Making African Fish Soup
- Sear the Onions First: The soup’s flavor hinges on that deep, caramelized base. Cook the onions over medium-low heat for 8-10 minutes—longer than you think—until they’re soft and golden, not browned. I used to rush this, and the soup always tasted flat.
- Blister the Scotch Bonnet: Don’t just chop it raw—sear the whole pepper in oil for 30 seconds per side until the skin blackens slightly. This unlocks its heat and aroma without overpowering the dish. (Yes, even if you’re impatient like me.)
- Add Fish Late, But Not Too Late: The fish needs 3-4 minutes in the simmering broth to stay tender, but don’t wait until the very end—it’ll turn rubbery. Instead, add it when the tomatoes are just breaking down and the onions smell like home.
- Deglaze with Tomato Juice: After cooking the onions and peppers, splash in ½ cup tomato juice (not water) to scrape up the browned bits. This adds richness without thinning the soup. (Your future self will notice the difference.)
Troubleshooting perfect results
Broth Too Thin?
If your soup feels watery, reduce the broth by simmering uncovered for 10-15 extra minutes until it thickens. For immediate thickening, mix 1 tablespoon cornstarch with 2 tablespoons cold water and stir in slowly. The key is patience—don't rush this step or the flavors won't meld properly. 💧
Fish Overcooking?
Fish in soups cooks faster than you think! Remove it from the pot when it reaches 145°F internal temperature (about 6-8 minutes for tilapia). If using mackerel, check at 5 minutes—it's more delicate. The fish should flake easily with a fork but still hold together slightly. Overcooking turns it rubbery, and that's a flavor crime. 🐟
Plantains Too Soft?
Green plantains need high heat and proper oil temperature to crisp. Use a deep-fry thermometer to maintain 350-375°F oil—any lower and they'll absorb too much oil. Fry in batches without crowding the pan, and press with tongs to check doneness. If they steam instead of brown, your oil isn't hot enough. 🍌
Muted Flavors?
Let the tomato base reduce longer—15-20 minutes instead of 10—to deepen flavors. Add a pinch of palm oil or 1 tsp fish sauce at the end for umami. For extra heat, blend 1 Scotch bonnet pepper with the tomatoes before cooking. The longer you simmer, the more complex the flavors become. 🌶️
Greens Turning Slimy?
Spinach and bitter leaf cook fast—add them just 1-2 minutes before serving. Overcooking releases bitterness and turns them mushy. For bitter leaf, blanch in boiling water for 30 seconds first to reduce bitterness, then add to the soup. The greens should wilt but remain vibrant. 🍃
Oil Burning?
Never fry plantains in oil hotter than 375°F—higher temps create acridity. Use a candy thermometer for accuracy. If smoke appears, immediately reduce heat. For extra safety, fry in batches and discard dark oil after 2-3 uses. Fresh oil makes all the difference in crispy plantains. 🔥
Nutrition facts
Frequently asked questions
What fish works best for this West African fish soup?
Firm white fish like tilapia or mackerel are perfect—they hold up well to the long simmer and stay tender. For extra flavor, try smoked fish or even shrimp if you prefer. Avoid delicate fish like sole, as they'll fall apart in the broth.
Can I make this soup without Scotch bonnet peppers?
Yes! Use habanero (half the amount) or jalapeño for milder heat. If you prefer no heat at all, skip them entirely—the dish will still be delicious. For smoky depth, add an extra ½ tsp smoked paprika to compensate.
How do I store leftovers?
Store the soup (without plantains) in an airtight container in the fridge for 3-4 days. The plantains stay crispy for 2 days if wrapped in paper towels. For longer storage, freeze the soup (without fish) for up to 3 months—just reheat gently and add fresh fish when serving.
What's the best way to serve this soup?
Traditionally with fufu or jollof rice, but crusty bread or even coconut rice works beautifully. The crispy plantains add the perfect sweet contrast—don't skip them! For extra authenticity, serve with spicy pepper sauce on the side.
Can I make this soup in a slow cooker?
Sauté the aromatics first, then transfer everything (except fish and greens) to the slow cooker. Cook on low for 4-5 hours, then add fish and cook for 15-20 minutes on high. Add greens just before serving to prevent mushiness. The slow cooker enhances the flavors beautifully!
