Soups & Stews
African fish soup recipe brings the heart of West African kitchens to your pot—a fragrant, spiced tomato and okra broth that cradles tender fish in a symphony of flavors. This one-pot wonder delivers deep, savory comfort with just 45 minutes of active time, where smoked fish, aromatic spices, and tender vegetables meld into a dish that tastes like home. The secret lies in slow-simmering the broth to develop layers of umami, while the okra thickens naturally for that signature silky texture.
What sets this recipe apart is its balance of bold, earthy flavors—smoky from dried fish, bright from tomatoes, and slightly tangy from palm oil.
I’ve perfected it with a blend of West African spices (ginger, garlic, thyme, and Scotch bonnet for heat), but you can easily adjust the spice level to suit your taste. The fish stays flaky and moist, never dry, thanks to a gentle cooking method that preserves its delicate texture.
By the time you’re done, you’ll have a steaming pot of soup that’s rich, aromatic, and packed with hearty vegetables like eggplant, spinach, and plantains. The broth is thick enough to coat a spoon but light enough to let the natural flavors shine through.
This isn’t just a meal—it’s a celebration of African cuisine, brought together in one comforting, flavorful pot.
Serve it with jollof rice or crusty bread to soak up every last drop of that fragrant broth. The leftovers? Even better the next day, as the flavors deepen and the spices meld further. Let’s get cooking—your taste buds are in for a treat.
Ingredients for african fish soup
Fourteen ingredients, one pot, endless flavor—West African comfort on your table.
| Ingredient | Amount | Notes |
|---|---|---|
| Smoked Fish (Dried or Fresh) 🐟 | ½ lb | Cut into small pieces |
| Palm Oil 🫒 | ¼ cup | Red palm oil preferred |
| Onions 🧅 | 1 whole | Chopped into small pieces |
| Garlic Cloves 🧄 | 6 cloves | Minced for aromatic base |
| Fresh Ginger 🌿 | ½ cup | Finely grated, fresh preferred |
| Canned Tomatoes 🍅 | 1 can | Crushed or diced, San Marzano if available |
| Okra 🌽 | 1 lb | Trimmed, sliced into rounds |
| Fresh Thyme 🌿 | ¼ cup | Leaves only, stems removed |
| Scotch Bonnet Pepper 🌶️ | 1 whole | Seeds removed for less heat |
| Eggplant 🍆 | 1 lb | Cubed, skin removed if preferred |
| Fresh Spinach 🌿 | 2 cups | Packed, roughly chopped |
| Green Plantains 🍌 | 1 whole | Peeled, sliced into strips |
| Salt 🧂 | 1 ½ tsp | Diamond Crystal preferred |
| Ground Black Pepper 🌶️ | ½ tsp | Freshly ground preferred |
| Vegetable Oil 🫒 | 2 tbsp | For sautéing vegetables |
The smoked fish is non-negotiable—it’s what gives this soup that deep, smoky backbone. African markets or specialty stores carry it dried, but Costco sometimes stocks it fresh. If you can’t find smoked fish, dried shrimp works too. Palm oil is the secret weapon here—red palm oil gives that signature African hue and richness. Skip it? Olive oil will do, but the flavor won’t be quite the same. For the ginger, grab the freshest root you can find—Asian markets usually have the best selection. If it’s woody or shriveled, toss it.
No Scotch bonnet? Habanero or jalapeño at half the amount gets you close, but trust me, Scotch bonnet is the star of this show. The okra can be fresh or frozen—frozen works in a pinch—but trim off any slimy bits. Eggplant? Purple or Italian varieties hold up best. For the spinach, don’t wash it until you’re ready to add it—it wilts fast. And if you’re worried about the plantains, green ones are key—they’re starchy, not sweet. Ripe plantains would turn this into a dessert, not soup.
This soup tastes even better the next day—flavors meld like magic—so make extra. Store it in the fridge for 4-5 days or freeze for 3 months. I like to portion it into containers with a scoop of jollof rice on top. The broth thickens as it cools, so add a splash of water when reheating. And if you’ve got leftovers, the fish pieces get even more tender—perfect for quick lunches.
Why You'll Love This Recipe
- No-Fuss Ingredients: I swear by this recipe because it uses what’s already in my pantry. Smoked fish soaks overnight—no fancy prep—and palm oil adds that rich depth with just a splash. Honestly, the hardest part is deciding whether to use dried or fresh fish, and even then, it’s a win.
- Umami Bomb: That first spoonful of palm oil simmering with onions and garlic? Pure flavor magic. The ginger cuts through the richness while the smoked fish adds this smoky, savory punch—like a hug in a bowl. (Yes, even on a Tuesday night.)
- Leftovers That Shine: This soup actually tastes better the next day. I make a big batch on Sundays, and by Wednesday, it’s still the star of my lunch. The flavors meld into something deeper, and it reheats like a dream—no soggy fish here.
- Budget Crowd-Pleaser: A single smoked fish feeds four, and the rest of the ingredients cost pennies. Between us, this is how I feed my book club without breaking the bank. Plus, the leftovers stretch into fritters or rice bowls—zero waste, all flavor.
Step-by-step instructions for African fish soup
This hearty West African soup comes together in one pot with rich flavors and tender fish.
Prepare the Fish and Vegetables
Start by cutting the 0.5 lb smoked fish into small, bite-sized pieces. If using dried fish, soak it in warm water for 10 minutes to rehydrate before cutting. Trim the 1 lb okra by slicing off the stem ends and cutting each pod into ½-inch rounds. Peel the 1 lb eggplant and cut it into 1-inch cubes. Peel and slice the 1 whole green plantain into ¼-inch strips. Roughly chop the 2 cups fresh spinach and set aside.
Finely grate the 0.5 cup fresh ginger using a microplane or the small holes of a box grater. Remove the seeds from the 1 whole Scotch bonnet pepper and chop it finely—this controls the heat while keeping the flavor. Chop the 1 whole onion into small pieces and mince the 6 cloves garlic. Strip the leaves from the 0.25 cup fresh thyme and discard the stems.
Sauté the Aromatics in Palm Oil
Heat the 0.25 cup palm oil in a large pot over medium heat. Add the chopped onions and cook for 3-4 minutes until they soften and turn translucent. Add the minced garlic and ginger, stirring for 1 minute until fragrant—this is your flavor foundation. Be careful not to let the garlic burn, as it can turn bitter.
Next, add the Scotch bonnet pepper and fresh thyme, stirring for 30 seconds to toast the spices. The oil should be shimmering but not smoking. This step releases the essential oils that give the soup its signature depth of flavor. If the oil starts to smoke, reduce the heat slightly and continue cooking.
Build the Tomato-Okra Base
Pour in the 1 can canned tomatoes, breaking them up with a wooden spoon if using whole tomatoes. Stir well to combine with the aromatics, then add the 1 lb sliced okra. Reduce the heat to medium-low and let the mixture simmer for 10-12 minutes, stirring occasionally. The okra will release its natural sliminess, which helps thicken the soup naturally.
You'll know the base is ready when the tomatoes have broken down and the okra has softened slightly. The mixture should smell rich and earthy, with a hint of spice from the Scotch bonnet. If the soup looks too thick, add ½ cup water to loosen it. This step is where the soup's comforting texture begins to form.
Add Eggplant and Plantains
Add the 1 lb cubed eggplant and 1 whole sliced green plantains to the pot. Stir gently to coat the vegetables in the tomato-okra mixture. Bring the soup back to a gentle simmer over medium heat and cook for 8-10 minutes, until the eggplant is tender and the plantains begin to soften. The eggplant should be fork-tender but not mushy—this ensures it holds its shape while absorbing the flavors.
Here’s the thing—green plantains add a subtle sweetness and slight resistance to the soup, balancing the earthy okra and rich tomatoes. If the soup starts to reduce too quickly, add ¼ cup water to maintain the right consistency. The goal is a soup that’s thick enough to coat a spoon but still easy to ladle.
Finish with Fish, Spinach, and Seasoning
Add the 0.5 lb cut smoked fish to the pot, stirring gently to distribute it evenly. Simmer for 5-7 minutes until the fish is heated through and flakes easily with a fork. The fish should absorb the flavors of the soup while remaining tender. If the soup is too thick at this point, add ¼ cup water to adjust the consistency.
Stir in the 2 cups chopped fresh spinach and cook for 1-2 minutes until just wilted. The spinach adds a fresh, vibrant contrast to the rich, spiced base. Finally, season with 1.5 tsp salt and 0.5 tsp ground black pepper, tasting as you go. The salt should enhance all the flavors without overpowering them. Let the soup sit off the heat for 5 minutes before serving to allow the flavors to meld.
Sauté Vegetables in Vegetable Oil (Optional Garnish)
While the soup rests, heat the 2 tbsp vegetable oil in a small skillet over medium heat. Add a few slices of the remaining okra and green plantains, cooking for 2-3 minutes until lightly browned. These crispy bits make a fantastic garnish, adding texture and visual appeal to each bowl.
Ladle the soup into bowls, garnishing with the sautéed vegetables and a sprinkle of fresh thyme. Serve with steamed rice or crusty bread to soak up every last drop of this comforting, flavorful soup. The combination of smoky fish, spiced tomatoes, and tender vegetables creates a dish that’s both hearty and deeply satisfying.
Pro Tips For Making African Fish Soup
- Bloom the Ginger Properly: Peel the ginger first, then slice it thin—about 1/8-inch thick—and let it sit in the palm oil for 5 minutes before adding onions. I learned this the hard way: skipping this step means your soup tastes raw and peppery instead of warm and aromatic. The oil pulls out the ginger’s flavor like magic.
- Salt the Fish Before Cooking: If using dried smoked fish, soak it in salted water (1 tsp salt per cup) for 20 minutes before adding to the soup. This rehydrates it faster and cuts that bitter, over-dried taste that ruins the dish. Fresh smoked fish? Skip the soak, but still season it well—it makes all the difference when the soup simmers.
- Simmer, Don’t Boil: Once the onions are translucent and the garlic-ginger mix is fragrant, lower the heat to a gentle simmer—not a rolling boil. I used to rush this, and the palm oil would split, leaving a greasy, burnt flavor. A slow simmer keeps the oil rich and the fish tender without falling apart.
- Use Leftover Palm Oil: Save that used palm oil from your last batch—it’s packed with flavor. Heat it fresh for the base, then add the leftover oil at the end to deepen the soup’s richness. Sounds weird, but it works: the second infusion adds layers of umami that store-bought oil can’t match. (Your future self will thank you.)
Perfect pairings for this african fish soup
West African Side Dishes
Serve your African fish soup with jollof rice—the perfect companion with its fragrant blend of tomatoes, peppers, and spices. I like using long-grain basmati rice cooked in a 1:2 rice-to-broth ratio with a pinch of thyme and bay leaf.
For extra richness, stir in ½ cup coconut milk at the end. 🍚
Fufu or semovita adds a satisfying, doughy texture that contrasts beautifully with the soup’s broth. Use cassava flour or plantain flour mixed with water to form smooth dough balls. Boil them until they float, then slice and serve with extra palm oil for dipping. Trust me, the starchy pull-apart texture is pure comfort.
Beverage Pairings
A cold mango ginger beer cuts through the soup’s richness with its sweet-tart balance. Look for brands like African Mango Ginger Beer or make your own by blending 1 cup mango puree, 2 tbsp ginger juice, and 1 cup sparkling water. Serve chilled over ice. 🍹
For a non-alcoholic option, hibiscus tea (zobo) adds a tangy, floral note. Steep 1 cup dried hibiscus flowers in 4 cups boiling water with 1 tbsp honey for 10 minutes.
The deep red color and tart flavor complement the soup’s smoky depth. If you prefer alcohol, a light lager like Guinness or a dry white wine like Chenin Blanc works well.
Garnishes and Finishing Touches
Top each bowl with crispy fried plantains for a sweet contrast. Slice 1 ripe plantain into ¼-inch strips, fry in 2 tbsp vegetable oil at 350°F for 3-4 minutes until golden, then drain on paper towels. The caramelized edges add a delightful crunch. 🍌
Fresh cilantro and scallions brighten the soup’s flavors. Roughly chop ¼ cup cilantro and 2 scallions, then sprinkle over the top just before serving. A squeeze of lime (about 1 tbsp juice) adds a zesty finish that balances the richness.
I always keep a lime wedge on the table for guests to adjust to their taste.
Nutrition facts
Frequently asked questions
Can I substitute smoked fish with another type of fish?
Yes, but choose wisely! Firm white fish like cod, tilapia, or snapper work best—they stay tender when simmered. Avoid delicate fish like flounder, as they can turn mushy. If using fresh fish, add it 5-7 minutes before serving to prevent overcooking. For dried fish, soak it for 10 minutes first to rehydrate.
How can I adjust the spice level for kids or sensitive eaters?
Remove the seeds and membranes from the Scotch bonnet pepper first to reduce heat, or swap it for ½ tsp mild paprika. For extra mildness, omit the pepper entirely and add 1 tsp honey at the end to balance flavors. Always taste as you go—you can’t overdo it with sweetness!
What if I can't find palm oil? What's the best substitute?
Use olive oil or coconut oil for a close match, but expect a slightly different flavor profile. For authenticity, add 1 tsp smoked paprika to olive oil to mimic palm oil’s depth. Avoid vegetable oils—they lack the rich, nutty notes that make this soup special.
Can I make this soup ahead of time? How does it reheat?
This soup actually tastes better the next day! Store it in the fridge for 4-5 days or freeze for 3 months. Reheat gently on the stove with ¼ cup water to restore thickness. Stir occasionally—don’t let it boil vigorously, or the okra may turn slimy.
Why does my okra turn slimy when cooking?
Overcooking or chopping okra too finely releases excess mucilage (its natural thickening agent). To prevent this, slice it into ½-inch rounds and add it early in the cooking process. If it gets too slimy, strain out the okra after 10 minutes of simmering, then return it to the pot later.
