Food safety reminder: Follow safe food-handling practices and use a food thermometer to verify safe internal cooking temperatures.
U.S. measurements first, metric equivalents in parentheses. Conversions are approximate; oz means weight ounces, not fluid ounces.
- 1 cup (240 ml) red palm oil - 8 oz (225 g) fresh atama leaves, chopped (substitute: mix of spinach + small amount of bitter leaf if unavailable) - 1 lb (450 g) beef, cut into 1–2 in (2–5 cm) chunks (such as beef chuck) - 8 oz (225 g) shaki (cow tripe), cleaned and cut into bite-size pieces - 8 oz (225 g) smoked fish, cleaned and deboned - 4 oz (115 g) stockfish (dried cod), soaked and flaked - 8 oz (225 g) fresh catfish or firm white fish, cut into portions, approx. usable weight - periwinkle, cooked, in shell (optional) - 3 tbsp (18 g) ground dried crayfish - 1 medium onion, chopped (about 5 1/4 oz (150 g)) - 2–3 Scotch bonnet or habanero peppers, finely chopped (about 1 oz (30 g)) — adjust to heat preference - 2 seasoning cubes (e.g., Maggi) or 2 tsp (10 g) bouillon powder - 1 tsp (5 g) ground black pepper - 1 tsp (5 g) salt, or to taste - 1/2 tsp (2 g) ground utazi or bitter leaf (optional, for authentic slight bitterness) - 1/4 cup (60 ml) water (for potash solution if using) - 1/4 tsp (1 g) potash (kaun) dissolved in 1/4 cup (60 ml) warm water (optional — helps oil blend; can omit) - 4 cups (960 ml) water or beef stock
- 1 cup (240 ml) red palm oil - 8 oz (225 g) fresh atama leaves, chopped (substitute: mix of spinach + small amount of bitter leaf if unavailable) - 1 lb (450 g) beef, cut into 1–2 in (2–5 cm) chunks (such as beef chuck) - 8 oz (225 g) shaki (cow tripe), cleaned and cut into bite-size pieces - 8 oz (225 g) smoked fish, cleaned and deboned - 4 oz (115 g) stockfish (dried cod), soaked and flaked - 8 oz (225 g) fresh catfish or firm white fish, cut into portions, approx. usable weight - periwinkle, cooked, in shell (optional) - 3 tbsp (18 g) ground dried crayfish - 1 medium onion, chopped (about 150 g) - 2–3 Scotch bonnet or habanero peppers, finely chopped (about 1 oz / 30 g) — adjust to heat preference - 2 seasoning cubes (e.g., Maggi) or 2 tsp (10 g) bouillon powder - 1 tsp (5 g) ground black pepper - 1 tsp (5 g) salt, or to taste - 1/2 tsp (2 g) ground utazi or bitter leaf (optional, for authentic slight bitterness) - 1/4 cup (60 ml) water (for potash solution if using) - 1/4 tsp (1 g) potash (kaun) dissolved in 1/4 cup (60 ml) warm water (optional — helps oil blend; can omit) - 4 cups (960 ml) water or beef stock
1. Prepare and parboil proteins: in a large pot combine beef, shaki, half the chopped onion, 2 cups (480 ml) water (or enough to cover), and 1 seasoning cube. Bring to a boil, reduce to simmer, and cook until beef and tripe are tender, about 45–60 minutes. Add stockfish during the last 15 minutes to soften. Skim any foam. 2. While meat cooks, soak smoked fish in hot water for 5–10 minutes, flake and remove bones if needed; set aside. If using periwinkle, ensure it is cooked and drained. Wash and chop atama leaves finely and set aside. 3. When meat and tripe are tender, add fresh fish pieces and smoked fish to the pot; simmer gently 8–10 minutes until fish is just cooked through. 4. Stir in ground crayfish, remaining chopped onion, chopped peppers, ground black pepper, remaining seasoning cube, and salt. If using potash solution, add it now mixed with 1/4 cup (60 ml) water and stir — this will help integrate the palm oil. Cook 3–5 minutes. 5. Pour in palm oil and fold gently so oil disperses; simmer 5 minutes to allow flavors to meld. Adjust seasoning to taste. 6. Add chopped atama leaves and optional utazi/bitter leaf; stir gently and simmer on low 3–5 minutes — do not overcook leaves; they should remain glossy and slightly tender. 7. If using periwinkle, fold in now and heat through for 1–2 minutes. Remove from heat and let the soup rest for 5 minutes before serving to let flavors develop. Serve hot with fufu, garri, or boiled yam.
Per serving | Servings: 4
Nutrition estimated: November 6, 2026
*Values are estimates based on USDA data and mathematical calculations. Actual values may vary. Where data are unavailable, those contributions are excluded. Calories, Carbohydrates, Protein, Fat, Saturated fat and Sugar are known subtotals. Missing contributions are unknown, not zero.