Calulu (Sao Tomean Fish and Tomato Stew) Recipe

African Recipes

Sao Tomean Fish and Palm-Oil Stew

Quick Answer Calulu is a layered island stew from Sao Tome and Principe in which halal fish simmers with onion, tomatoes, garlic, okra, eggplant, and dark leafy greens, all enriched with red palm oil and a little ground peanut. Chili and bay give it warmth, and it is traditionally served over funge or rice. It is rich, hearty, and ready in about an hour.

Calulu is the kind of stew that fills a whole kitchen with its smell long before it reaches the table. It layers fish and vegetables in a single deep pot, then binds them with red palm oil and a spoonful of ground peanut so the broth turns glossy and full-bodied. The first time I made it, I stirred the okra too often and ended up with a slippery pot, so I have learned to let it sit and simmer instead.

Ready in about 60 minutes  |  Serves 4  |  One pot

Prep Time
20 min
Cook Time
40 min
Total Time
60 min
Servings
4
Intermediate Halal Dairy-Free About 420 cal / serving
A bowl of orange-red Sao Tomean calulu fish and vegetable stew served with funge
Sao Tomean calulu, glossy with red palm oil and layered with fish, okra, eggplant, and greens.

Why This Calulu Works

Calulu is island cooking at its most generous. It takes what the sea and the garden give on the same day, layers them in one pot, and lets them cook into something far greater than the sum of the parts. The fish gives savory depth, the greens give body, and the red palm oil ties everything together with its earthy, faintly sweet richness.

The single most important idea here is layering, not stirring. You build the pot from the bottom up, onion and tomato first, then the sturdier vegetables, then the greens and fish on top. When you leave it mostly alone to simmer, the flavors settle into each other and the okra thickens the broth naturally instead of turning slippery.

Ground peanut is the quiet workhorse. Just a couple of spoonfuls stirred in near the end give the stew a rounded, nutty body that makes it taste slow-cooked even on a weeknight. It is the difference between a thin fish soup and a proper calulu.

It is also forgiving and seasonal. Whatever dark leafy greens you can find, whatever firm halal fish is freshest, the method stays the same. Once you understand the layering, you can cook calulu with your own market’s produce and it will still taste like the island version.

Pro observation: The stew is ready when a thin film of red palm oil rises and pools on the surface. That glossy orange sheen means the vegetables have released their liquid and the broth has concentrated.

Ingredients

Adjust servings above to rescale · Serves 4

Kitchen Measurement Converter

Quickly convert between common cooking measurements without leaving the recipe. Pick a category, enter a value, and the result updates instantly.

Want more options? Open the full tomato measurement converter.

Ingredient Notes & Substitutions

Halal Fish

Use a firm halal white fish that holds together in a stew, such as grouper, snapper, cod, or hake. Fresh is ideal, and lightly smoked halal fish adds a deeper savory note. Cut it into large chunks so it does not fall apart.

Red Palm Oil

Red palm oil gives calulu its signature color and earthy richness, and it is entirely halal. Look for the deep orange, unrefined kind. If you must, you can use a neutral oil, but the stew loses its character.

Leafy Greens

Sweet potato leaves are traditional, but amaranth, spinach, or collard greens all work. Sturdier greens need a few extra minutes; tender spinach only needs to wilt at the end.

Ground Peanut

A spoonful of smooth peanut butter or freshly ground peanut thickens and rounds the broth. Stir it into a little warm stock first so it blends smoothly instead of clumping.

Equipment

  • Wide, deep heavy pot
  • Wooden spoon
  • Sharp knife and board
  • Small bowl for peanut
  • Box grater or microplane
  • Ladle

Before You Start

1. Season the fish first. Rub the fish chunks with a little salt, lime juice, and garlic and set them aside while you prep. This short marinade brightens the fish and firms it slightly.

2. Prep every vegetable before you light the stove. Calulu comes together by layering quickly, so have the onion, tomatoes, okra, eggplant, and greens all chopped and within reach.

3. Start the funge or rice alongside. Calulu is meant to be spooned over funge or rice, so get the porridge or rice going before the stew, since the stew moves fast once it starts.

Step-by-Step Instructions

1

Season the Fish and Prep

Cut the fish into large chunks and toss them with a pinch of salt, half the lime juice, and a little of the garlic. Set aside. Chop the onion, tomatoes, okra, eggplant, and greens, and grate the ginger so everything is ready to layer.

2

Build the Base

Warm the red palm oil in a wide, deep pot over medium heat until it loosens and turns bright orange. Add the onion and cook 4 to 5 minutes until soft, then stir in the garlic and ginger and cook 1 minute more. Add the tomatoes, chili, and bay leaves and cook 6 to 8 minutes until the tomatoes collapse into a thick, jammy base.

Onion, garlic, and tomatoes cooking in red palm oil to build the calulu base
Cook the tomatoes into the palm oil until jammy; this is the flavor foundation of calulu.
3

Layer the Sturdy Vegetables

Add the diced eggplant and the sliced okra, then pour in the water or fish stock. Bring it to a gentle simmer and cook 8 to 10 minutes, stirring only once or twice, until the eggplant softens and the okra is just tender. Resist the urge to stir often, which keeps the okra from turning slippery.

4

Add the Greens and Peanut

Stir the ground peanut into a small ladle of the hot broth until smooth, then pour it back into the pot. Pile the chopped greens on top and let them wilt down into the stew, about 4 to 5 minutes. Season with salt and black pepper and taste the broth for balance.

Leafy greens wilting into the orange-red calulu stew with okra and eggplant
Whisk the peanut into hot broth first, then fold in the greens so they wilt evenly.
5

Slide in the Fish

Nestle the seasoned fish chunks into the simmering stew, spooning some broth over the top. Cover and cook gently for 6 to 8 minutes, without stirring, until the fish turns opaque and flakes easily with a fork. Handle it lightly so the pieces stay whole.

6

Rest, Finish, and Serve

Turn off the heat and let the calulu rest 5 minutes so the palm oil rises and the flavors settle. Stir in the remaining lime juice, taste one more time, and adjust the salt. Serve hot over funge or rice, spooning plenty of the rich broth over each portion.

Finished calulu stew with fish, okra, and greens served with funge
Let the stew rest so the palm oil rises, then serve over funge with plenty of broth.

Chef’s Tips From Real Kitchen Testing

1

Stir the okra as little as possible. The more you agitate it, the more it releases its gum and turns the broth slippery. A gentle simmer keeps the texture clean.

2

Add the fish last and let it poach in the stew off a hard boil. Gentle heat keeps the pieces whole and just cooked through rather than dry and shredded.

3

Whisk the peanut into a little hot broth before adding it to the pot. This stops it from clumping and lets it thicken the stew evenly.

Recipe Variations

Serving Suggestions

  • Funge or angu made from cassava or cornmeal
  • Steamed white rice to soak up the broth
  • A wedge of lime and extra chili on the side
  • Sliced avocado or fried plantain

Nutrition Facts

Estimated nutrition per serving of calulu
NutrientAmount per serving
Calories420
Protein34 g
Carbohydrates18 g
Fat24 g
Saturated Fat9 g
Fiber6 g
Sugar7 g
Sodium640 mg

Values are estimates per serving and vary with the exact ingredients and brands you use.

Make-Ahead Tips

The vegetable base of calulu is a great make-ahead component, since the flavors deepen as it sits. Cook the stew through the greens a day ahead, cool, and refrigerate. When you are ready to eat, warm it gently, add a splash of stock to loosen it, then slide in the fresh fish and poach it just before serving so the fish stays tender.

Storage, Freezing & Reheating

Refrigerator
Keeps 3 days in an airtight container. The stew thickens as the greens absorb liquid, so loosen with a little stock when reheating.
Freezer
The vegetable base freezes well for up to 2 months. Freeze it without the fish for the best texture, then add fresh fish when you reheat.
Reheating
Warm gently on the stove over low heat until just steaming. Avoid a hard boil so the fish does not break apart and toughen.

Common Mistakes to Avoid

×Over-stirring the okra. Constant stirring releases its gum and leaves the broth slimy. Let it sit and simmer with only an occasional gentle stir.
×Overcooking the fish. Add it near the end and poach it gently; a hard boil dries it out and breaks the chunks into shreds.
×Serving it watery. If the broth is thin, let it reduce a few minutes before the fish goes in, or stir in a little more ground peanut for body.

Troubleshooting

Broth too slippery? The okra was stirred too much. Next time stir less, and for now simmer uncovered a few extra minutes to reduce and firm up the texture.

Stew tastes flat? It usually needs salt and a squeeze of lime to lift the flavors. A little extra chili wakes it up too.

Broth too thin? Simmer it down before adding the fish, or whisk in another spoonful of ground peanut to thicken and enrich it.

A Note on Sao Tomean Cooking

Sao Tome and Principe is a small twin-island nation in the Gulf of Guinea, and its cooking reflects that setting: fish from the surrounding sea, dark leafy greens and root vegetables from lush volcanic soil, and the deep color of red palm oil in nearly every pot. Calulu is one of the islands’ signature dishes, often cooked in a big batch for a Sunday gathering or a festive occasion when family comes together. The same layered technique appears in Angola, where calulu is equally beloved. If you enjoy hearty, spoonable bowls, our hearty tomato lentil soup shares the same comforting spirit, and you can browse more ideas in our full collection of tomato recipes.

Frequently Asked Questions

Calulu is rich, savory, and earthy. The red palm oil gives it a deep, faintly sweet body, the fish and greens make it hearty, and the tomato, chili, and lime keep it bright. It is comforting and full-flavored rather than sharp or fiery.
Use any firm halal white fish that holds together in a stew, such as grouper, snapper, cod, or hake. Fresh fish is ideal, and a piece of lightly smoked halal fish adds extra depth. Cut it into large chunks so it stays whole.
The fish is done when it turns opaque all the way through and flakes easily with a fork, which takes about 6 to 8 minutes of gentle poaching. For food safety, cook fish to an internal temperature of 145 F, and do not leave the finished stew at room temperature for more than two hours.
You can, though the color and earthy character change. Use a neutral oil and add a little extra tomato and ground peanut for body. It will still be a tasty greens-and-fish stew, just not the classic island version.
Okra releases a natural gum when it is cut and stirred a lot. Slice it just before cooking, stir the pot as little as possible, and let the acidity from the tomato and lime help keep the texture clean.
Funge, also called angu, is a smooth porridge made from cassava flour or cornmeal that soaks up the rich broth. Steamed white rice works just as well, and fried plantain or sliced avocado make good sides.

Last updated: September 23, 2026

Was this recipe helpful?
Thanks for rating!
Timer
0:00

Leave a Comment