Nigerian vegetable soup is a broad family of leafy soups; this recipe is a Yoruba-style efo riro, a richly seasoned soup with greens, peppers, palm oil, beef, and smoked fish. It is usually served with a swallow such as eba, pounded yam, or fufu, though rice also works well. Families vary the greens, proteins, and pepper heat, so use the substitutions below to suit what you can find.
What You’ll Need
- 1 lb (450 g) beef stew meat, cut into small cubes; choose pieces with some connective tissue for a tender braise.
- 1 tsp (6 g) fine salt, plus more to taste; 1 tsp (2 g) ground crayfish or dried shrimp powder; and 1 seasoning cube (about 4 g), optional.
- 1 cup (240 ml) water for the beef, plus up to ½ cup (120 ml) extra if needed.
- 2 medium red bell peppers (about 300 g), 2 medium tomatoes (about 300 g), 1 small onion (about 100 g), and 1 Scotch bonnet or habanero (about 10 g), stemmed. Remove the hot pepper’s seeds for a milder soup, or use half.
- ½ cup (120 ml) red palm oil. This gives efo riro its characteristic flavor and color; if unavailable, use a mild vegetable oil, knowing the soup will taste less traditionally earthy.
- 2 tbsp (30 ml) neutral oil, if needed to blend the pepper mixture smoothly.
- 3 tbsp (18 g) ground crayfish, preferably unsalted, for a savory seafood note.
- 3 oz (85 g) smoked fish, picked over for bones and rinsed; smoked mackerel or smoked catfish works. If unavailable, use an additional 3 oz (85 g) cooked fish, but the soup will lose some smoky flavor.
- 10 oz (280 g) fresh spinach, washed and sliced, plus 8 oz (225 g) ugu, also called fluted pumpkin leaves, washed and thinly sliced. If ugu is hard to find, substitute 8 oz (225 g) finely sliced collard greens; they are firmer and need a little longer to soften.
Ugu is sold fresh in some African and international grocery stores. If using pre-washed greens, still check for grit and remove tough stems. You can use 18 oz (510 g) spinach instead of the spinach-and-ugu combination; the result will be softer and less varied in texture. Have a heavy pot with a lid, a blender, a cutting board, and a food thermometer ready. The soup should be thick and glossy rather than brothy, so begin with the measured liquid and add more only when necessary.
Step-by-Step
- Prepare the vegetables and fish. Rinse the greens thoroughly, shake off excess water, remove any tough stems, and slice them into bite-size ribbons. Pick through the smoked fish carefully for bones, rinse it briefly, and break it into large pieces. Roughly chop the bell peppers, tomatoes, onion, and hot pepper so they fit easily into the blender. Keep the hot pepper separate if you want to control the heat gradually.
- Season and simmer the beef. Put the beef in a heavy pot with the salt, optional seasoning cube, and 1 cup (240 ml) water. Cover and bring it to a gentle boil over medium-high heat, then lower the heat and simmer for 45 minutes, stirring once or twice. The beef should be cooked through and becoming tender; add a splash of the extra water if the pot is drying out before the beef softens. For food safety, check a thick piece with a thermometer: USDA FSIS lists 145°F (63°C) followed by a 3-minute rest as the safe minimum for whole cuts of beef. Let the cooked beef rest for those 3 minutes while you start the pepper base, then keep the cooking liquid in the pot.
- Blend the pepper base. While the beef simmers, blend the bell peppers, tomatoes, onion, and Scotch bonnet until mostly smooth. Add the 2 tbsp (30 ml) neutral oil only if your blender needs help moving the vegetables. Avoid adding water unless absolutely necessary; excess liquid makes it take longer to fry the mixture down. For a less spicy soup, blend in half the hot pepper now and reserve the rest.
- Fry the blended vegetables. In a second heavy pot, warm the palm oil over medium heat until fluid and fragrant; do not let it smoke. Carefully pour in the blended mixture, as it may sputter. Cook uncovered for about 15 minutes, stirring every few minutes, until it has darkened slightly, thickened, and no longer smells raw. Keep the heat moderate so the pepper mixture reduces without catching on the bottom. Stir in the ground crayfish during the last minute.
- Combine the beef, stock, and smoked fish. Add the beef and its cooking liquid to the pepper base, then fold in the smoked fish. Simmer gently for 5 minutes so the flavors mingle. The liquid should be concentrated and coat the beef; if it looks watery, simmer uncovered for a few more minutes before adding the greens. Taste the base now and add a little salt if needed, remembering that smoked fish and seasoning cubes can already be salty.
- Add the greens and finish the soup. Fold in the sliced ugu or collards first and cook for 2 minutes, then stir in the spinach. Simmer for about 3 minutes more, just until all the leaves wilt and turn a deeper green. Avoid prolonged boiling, which can dull their color and make them overly soft. Taste once more and adjust salt or pepper. Take the pot off the heat and serve hot with eba, pounded yam, fufu, rice, or another accompaniment.
Common Mistakes
Adding too much water: A thin pepper base can leave the finished soup watery. Use only the stated water for the beef, and do not add water to the blender unless it cannot run. If the soup is loose, simmer it uncovered before adding greens so you do not overcook the leaves while reducing it.
Putting the greens in too early: Greens need only a few minutes at the end. If they simmer alongside the beef for the full cooking time, they may lose their color, break down, and taste overcooked. Add the tougher ugu or collards first and spinach last.
Using too much hot pepper at once: Scotch bonnet heat varies. Start with half, taste the cooked base, and add more gradually. A pepper that seems mild raw can become quite hot when concentrated in the sauce.
Skipping the pepper-base frying: Blended vegetables need time to cook down in oil. If you add them straight to the pot with the beef, the soup can taste raw and watery. Fry until the mixture thickens and its sharp, raw aroma has mellowed.
Over-salting before the fish goes in: Smoked fish, crayfish, stock, and seasoning cubes can all contribute salt. Season the beef moderately, combine everything, and make the final adjustment at the end.
Tips
- For a fuller traditional flavor, use red palm oil and ground crayfish, and include at least one locally available leafy green such as ugu. Palm oil can have a strong aroma, so do not heat it until it smokes.
- For a smoother sauce, blend the peppers and tomatoes well. For more texture, pulse briefly instead of blending completely smooth. Both approaches work; the main goal is to cook off excess liquid.
- Cut beef into similar-sized small pieces so they cook evenly. If using a leaner cut, watch the liquid carefully because it can dry out before becoming tender.
- Keep the smoked fish in large pieces while stirring so it does not disappear into the sauce. Check every piece for bones before adding it.
- Serve the soup with a plain, filling side. Eba and pounded yam are classic options; rice makes an easy alternative and lets the peppery sauce remain the focus.
Troubleshooting
The soup is too thin: Remove the lid and simmer gently, stirring regularly, until the sauce reduces to a thick consistency. If the beef is already very tender, lift it out temporarily so it does not break apart, reduce the sauce, and return it before serving. Avoid stirring in extra raw greens to absorb liquid; they can soften without fixing the watery base.
The soup tastes raw or sharply acidic: Give the pepper base more time to fry, or simmer the combined soup uncovered for several minutes. Stir often and lower the heat if it begins to stick. Tomatoes vary in acidity, so a longer gentle cook is often more useful than adding sugar or extra salt.
The beef is still tough: Add ¼ cup (60 ml) water, cover the pot, and continue simmering in 10-minute increments until tender. Check that the pot is at a gentle simmer, not a hard boil. The time can vary with the cut and cube size; add greens only after the beef is ready.
The soup is too spicy: Stir in more cooked greens or a little extra unsalted stock, then simmer briefly to blend the flavors. If you add stock, reduce the soup uncovered afterward to restore its thickness. Serve it with a generous portion of a mild side such as rice or swallow.
The greens are gritty: Grit usually comes from the leaves rather than the sauce. Rinse greens in several changes of cold water before slicing. If grit is noticeable after cooking, carefully transfer the soup to another pot without scraping the bottom, where sediment may have settled.
The oil separates on top: A little visible palm oil is normal in this style of soup. If there is more than you prefer, stir the soup well and spoon off a small amount from the surface. Next time, measure the oil rather than pouring freely, and make sure the pepper base has reduced before adding the beef.
Frequently Asked Questions
Is Nigerian vegetable soup the same as efo riro?
Not always. Nigerian vegetable soup can refer to different regional dishes, including soups made with different greens and seasonings. This recipe is a Yoruba-style efo riro, a pepper-and-leaf soup; it is one common version, not the only one.
Can I make it without beef?
Yes. Omit the beef and use vegetable stock or water, then increase the smoked fish or add cooked mushrooms, beans, or another protein you enjoy. The result will have a different flavor and may need less cooking time, so fry the pepper base and simmer it with the fish before adding the greens.
Can I use frozen spinach?
Yes. Thaw it completely and squeeze out excess water before adding it. Frozen spinach releases more moisture and is softer than fresh leaves, so start with a smaller amount, simmer briefly, and reduce the sauce first if it is already loose.
What can I use instead of ugu?
Finely sliced collard greens are a practical substitute and keep more texture than spinach, though their flavor is different. Kale can also work. Add either one before the spinach and give it a few extra minutes to soften.
How should I store and reheat leftovers?
Refrigerate the soup within 2 hours in a covered container and use it within 3–4 days. Reheat only the portion you need until it reaches 165°F (74°C), checking with a food thermometer. You can freeze portions for longer storage; thaw them in the refrigerator and reheat to 165°F (74°C).
What should I serve with efo riro?
Serve it with eba, pounded yam, fufu, amala, or another swallow for a traditional-style meal. Boiled rice is also a convenient pairing. The soup is concentrated, so start with a modest serving and add more to taste.
Related
- Ghanaian Bean Stew (Red-Red) with Tomato and Palm Oil
- German Stew Recipe with Beef, Potatoes, and Caraway
- German Soup Names: Classic Dishes and Potato Soup
More recipes to cook
Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes
Spotted an error? Tell us and we will correct it (corrections policy).