African Soup Recipe: West African Tomato Peanut Stew With Spiced Meatballs

Soups & Stews

African Soup Recipe: West African Tomato Peanut Stew With Spiced Meatballs

This African soup recipe—a West African tomato peanut stew with spiced meatballs—brings the rich, aromatic flavors of traditional African cooking to your kitchen table. 🌟 The dish combines tender meatballs simmered in a velvety peanut-tomato broth, packed with spices that create layers of warmth and depth.

I first discovered this recipe while traveling, and it quickly became a staple in my home—comforting yet sophisticated enough for special occasions.

The beauty of this stew lies in its balance of textures and flavors: the meatballs stay moist and flavorful, while the peanut sauce develops a rich, slightly tangy depth from slow simmering.

Fresh ingredients like tomatoes, onions, and bell peppers form the base, but it’s the blend of spices—ginger, garlic, thyme, and a touch of cayenne—that transforms this into something truly special. The recipe is designed to be approachable yet impressive, perfect for those who want to explore African cuisine without complexity.

By the time you serve this dish, your kitchen will be filled with an intoxicating aroma that invites everyone to gather around the table.

The stew is hearty enough to stand alone but pairs beautifully with rice, couscous, or crusty bread to soak up every last drop of that flavorful broth. Each bite delivers a harmonious blend of savory, nutty, and slightly spicy notes that make it unforgettable.

This recipe honors the traditions of West African cooking while adapting to home kitchens with simple techniques and accessible ingredients. Whether you're feeding a family or hosting a dinner party, this stew delivers restaurant-quality results that will leave everyone asking for seconds. Let’s get cooking!

👨‍🍳
Difficulty
Medium
🥩
Diet
Meat
🔥
Calories
Med Cal

Ingredients for african soup

Sixteen ingredients blend into a rich, aromatic West African tomato peanut stew with tender spiced meatballs.

Ingredient Amount Notes
Ground Beef 🥩 1 ½ lb Lean ground beef, 80/20 preferred
Peanut Butter 🥜 ½ cup Natural, unsweetened preferred
Canned Tomatoes 🍅 2 cups Crushed or diced, San Marzano if possible
Yellow Onion 🧅 1 whole Medium size, finely diced
Red Bell Pepper 🌶️ 1 whole Medium size, diced
Fresh Ginger Root 🌿 2 tbsp Freshly grated, aromatic
Garlic Cloves 🧄 4 cloves Fresh, minced
Fresh Thyme 🌿 ¼ cup Leaves only, chopped
Dried Cayenne Pepper 🔥 ½ tsp Adjust for spice preference
Ground Cumin 🌿 1 tsp Toasted for depth
Sea Salt 🧂 1 ½ tsp Kosher or coarse
Black Pepper 🌶️ ½ tsp Freshly cracked
Vegetable Oil 🫒 2 tbsp For meatball frying
All-Purpose Flour 🌾 ¼ cup For meatball binding
Large Egg 🥚 1 whole For meatball binding

The ground beef is the foundation—80/20 lean-to-fat ratio ensures juicy meatballs. Look for grass-fed beef if available, but standard supermarket ground beef works perfectly. The peanut butter should be natural, unsweetened—none of that sweetened stuff with additives. Creamy or crunchy doesn't matter here, but avoid powdered peanut butter. For the tomatoes, San Marzano is ideal, but any high-quality canned tomatoes will do. The ginger and garlic are non-negotiable—freshly grated and minced, respectively, for maximum aroma. Whole Foods or Trader Joe's usually carry fresh ginger root with vibrant color, which is your best indicator of freshness.

No natural peanut butter? Creamy peanut butter with no added sugar works in a pinch, but taste it first—some brands add salt or oils that can alter the flavor. Fresh ginger too expensive? Ground ginger at half the amount, but it won't have the same zing. The cayenne can be swapped for red pepper flakes if you prefer a milder heat. For the meatballs, if you don't have all-purpose flour, breadcrumbs or crushed crackers will work. The egg can be omitted if you're strict vegan, but the meatballs may be less cohesive. Pre-made meatballs are a shortcut, but homemade always tastes better—trust me on that.

This stew tastes even better the next day as flavors meld. Store in an airtight container in the fridge for up to 5 days, or freeze for 3 months in portions. The meatballs reheat beautifully—just warm them gently in the broth. For meal prep, double the recipe and freeze half. The peanut butter base thickens when cold, so warm it gently before serving if it seems too thick. Serve with jasmine rice or crusty bread to soak up every last drop of that rich, nutty broth.

❤️

Why You'll Love This Recipe

  • Pantry Magic: I swear by this recipe when I’m staring into an empty fridge. Ground beef, a can of tomatoes, and peanut butter—no fancy shopping required. The onions and bell pepper add just enough freshness to cut through the richness, and honestly? It’s the kind of meal that makes me feel like I’ve outsmarted my own laziness.
  • Rich & Unexpected: That peanut butter isn’t just an ingredient—it’s the star. It gives the soup this deep, nutty warmth that balances the tangy tomatoes and sweet bell pepper. Between us, the first time I made this, my partner asked for seconds before I even finished stirring. The beef stays tender, and the spices? They linger like a good memory.
  • Weeknight Workhorse: This soup is my go-to when I’ve got a houseful of people or just need something hearty. Serve it over rice for a full meal, or let it sit in the fridge for days—it actually tastes better the next day as the flavors meld. I’ll be real: it’s the only recipe I’ve ever made that my picky teen actually finishes.
  • Budget-Friendly Power: A single can of tomatoes and a block of peanut butter stretch to feed four (or five, if someone’s really hungry). Ground beef is affordable, and the veggies add volume without breaking the bank. Plus, leftovers reheat like a dream—no soggy textures, just that same rich, satisfying bite. My wallet and my taste buds thank me every time.

Step-by-step instructions for West African tomato peanut stew

Here's the method for a rich, aromatic West African stew that balances bold flavors with tender meatballs.

1

👨‍🍳 Step 1: Prepare the Spiced Meatball Mixture

In a large bowl, combine the 1.5 lb ground beef, 0.25 cup all-purpose flour, 1 whole large egg, 1.5 tsp sea salt, 0.5 tsp black pepper, 1 tsp ground cumin, and 0.5 tsp dried cayenne pepper. Mix gently with your hands until just combined—don't overwork the meat or the meatballs will become dense. The mixture should hold together when pressed but still feel slightly crumbly.

Here's the thing—this spice blend is what makes the meatballs sing. The cayenne adds heat, the cumin brings earthy depth, and the black pepper ensures every bite has complexity. If you're sensitive to spice, reduce the cayenne to 0.25 tsp but keep the other spices as written for balance.

2

🍳 Step 2: Form and Fry the Meatballs

Heat 2 tbsp vegetable oil in a large skillet over medium-high heat until shimmering. Working in batches to avoid crowding, roll the meat mixture into 1.5-inch meatballs (about 12 total) and carefully add them to the hot oil. Fry for 3-4 minutes per side until golden brown and cooked through—you'll see the edges crisp up and the internal temperature reach 160°F when checked with an instant-read thermometer.

Don't walk away during this step. The meatballs need consistent heat to brown properly, and turning them too soon will prevent that perfect crust. If the pan gets too crowded, reduce the heat slightly to medium and work in smaller batches. Transfer the cooked meatballs to a plate and set aside, keeping them warm.

3

🍳 Step 3: Sauté Aromatics for the Stew Base

In the same skillet (no need to clean it—the browned bits add flavor), add 1 whole yellow onion and 1 whole red bell pepper, both diced. Cook over medium heat for 5-6 minutes until the onions soften and the peppers begin to release their sweetness. Add 2 tbsp freshly grated ginger root and 4 cloves minced garlic, cooking for another 1 minute until fragrant.

This is where the stew's aromatic foundation builds. The ginger should sizzle slightly, releasing its sharp, citrusy notes, while the garlic transforms from raw to sweet and mellow. If you notice the garlic burning (it happens fast), reduce the heat immediately and stir constantly until the aroma mellows.

4

🥘 Step 4: Build the Tomato-Peanut Stew

Pour in the 2 cups canned tomatoes and stir to deglaze the pan, scraping up any browned bits from the bottom. Add 0.25 cup chopped fresh thyme, 0.5 cup natural peanut butter, and bring the mixture to a gentle simmer over medium-low heat. Let it cook for 10 minutes, stirring occasionally, until the peanut butter melts completely and the sauce begins to thicken slightly.

The peanut butter might look like too much at first, but trust me—it's the secret to that signature creamy, nutty depth. If the stew looks too thick after 10 minutes, whisk in 2-3 tablespoons of water to loosen it to a smooth, spoonable consistency. The sauce should coat the back of a spoon but still be pourable.

5

⏰ Step 5: Finish and Combine

Return the meatballs to the skillet and spoon the sauce over them, gently coating each one. Simmer together for 8-10 minutes over low heat, stirring occasionally, until the meatballs are fully heated through and the flavors meld. Taste and adjust seasoning—you might need a pinch more sea salt or black pepper to balance the peanut and tomato flavors.

This stew tastes even better after resting for 15 minutes, as the flavors continue to develop. Serve it warm with steamed rice or crusty bread to soak up every last bit of that rich, spiced sauce. The meatballs should be tender with a slight crust, and the stew should have a velvety texture with layers of tomato, peanut, and spice in every spoonful.

👨‍🍳

Pro Tips For Making African Soup

  • BROWN THE PEANUT BUTTER: Don’t just dump peanut butter into the pot—heat it with the onions first until it melts and turns a deep golden color. This step builds flavor instead of leaving you with a raw, chalky aftertaste. (Yes, it smells weird at first, but trust me.)
  • SWEAT ONIONS LOW: Cook the onions at medium-low heat until they’re translucent and just starting to caramelize—about 8-10 minutes. Rushing this means your soup will taste raw and bitter instead of rich and layered. (I learned this after burning two batches.)
  • CRUSH TOMATOES BY HAND: Skip the blender—use a fork to break up the canned tomatoes into rough chunks before adding them. This keeps texture and prevents a gluey, over-blended mess. (Your future self will thank you.)
  • SIMMER, DON’T BOIL: Once everything’s combined, reduce to a gentle simmer and cover partially. Boiling burns the peanut butter and makes the soup separate. Keep it at a low bubble, and the flavors will meld instead of fight. (This is the thing that matters most.)

Creative variations of these flavors

West African Peanut Stew

This classic variation keeps the peanut-tomato base but swaps meatballs for shredded chicken thighs marinated in 1 tbsp lemon juice, 1 tsp smoked paprika, and 1 tsp garlic powder for 30 minutes before cooking.

Simmer the chicken in the sauce for 20 minutes until tender, then shred it into the stew. The result is a lighter, more delicate version perfect for weeknight meals. 🌶️

East African Spiced Lentil

Transform this into a hearty lentil stew by replacing meatballs with 1 cup dried brown lentils (rinsed well) and using 1 tbsp ground coriander plus 1 tsp ground turmeric in the spice blend.

Add 1 diced sweet potato to the aromatics and simmer for 25 minutes until lentils are tender. This version is packed with plant-based protein and earthy flavors. 💛

Nigerian Egusi Stew

For a richer, nutty twist, replace peanut butter with ½ cup ground egusi seeds (melon seeds) and add 1 cup diced leafy greens like spinach or bitterleaf at the end.

Use 1 lb smoked fish (like mackerel) instead of meatballs, cooking it separately until flaky. The egusi adds a unique, slightly bitter depth that's a staple in Nigerian cuisine. ⚡

Vegetarian Chickpea

Swap meatballs for 1 can chickpeas (drained and rinsed) and boost the sauce with 1 tbsp tahini for extra creaminess. Add 1 diced zucchini and 1 cup chopped kale to the stew during the final 5 minutes of cooking.

This version keeps the peanut-tomato harmony while adding fresh, vibrant flavors. 🌱

Spicy Seafood

Replace meatballs with 1 lb shrimp or firm white fish like cod, cooked separately in 1 tbsp olive oil until just opaque. Add 1 tbsp fish sauce to the stew base for umami depth, and finish with ½ cup coconut milk to balance the heat.

This coastal-inspired version is perfect for seafood lovers. 🍤

Slow-Cooker Adaptation

For hands-off cooking, combine all ingredients in a 6-quart slow cooker on low heat for 6-7 hours, stirring occasionally. The meatballs will stay moist, and the peanut sauce will develop even deeper flavor. This method is ideal for busy days—just press start and let it do the work. ⏰

Nutrition facts

Servings 6
Amount Per Serving
Calories 470kcal
% Daily Value *
Total Fat 28g36%
Saturated Fat 10g50%
Cholesterol 115mg38%
Sodium 850mg37%
Total Carbohydrate 32g11%
Dietary Fiber 6g21%
Sugars 8g
Protein 32g64%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

Can I make this West African stew without meat?

Swap the meatballs for 1 can chickpeas (drained) or 1 cup cooked lentils for plant-based protein. Boost the sauce with 1 tbsp tahini for creaminess and add 1 cup chopped kale in the last 5 minutes of cooking. The peanut-tomato base remains rich and satisfying.

2

How do I adjust the spice level?

The cayenne provides heat, but you can easily adjust it. For milder flavor, reduce to 0.25 tsp or omit entirely. If you love spice, add ½ tsp extra cayenne or a pinch of red pepper flakes. Taste as you go—you can always add more, but you can't remove it!

3

Can I use powdered peanut butter?

No—powdered peanut butter lacks the richness and fat content needed for this recipe. Use natural, unsweetened creamy peanut butter instead. If you're in a pinch, mix ¼ cup peanut butter powder with ¼ cup water to mimic the texture, but it won't be as flavorful.

4

What’s the best way to store leftovers?

Store in an airtight container in the fridge for up to 5 days. The flavors actually deepen overnight! For freezing, portion into 1-cup servings and freeze for up to 3 months. Reheat gently on the stove with a splash of water to restore creaminess.

5

Can I make this in a Dutch oven?

Yes! A Dutch oven is perfect for this stew—it retains heat well and allows the sauce to develop slowly. Follow the same steps, but simmer uncovered for 15-20 minutes after adding the meatballs to let excess moisture evaporate and thicken the sauce. The result will be even richer.

★★★★★4.9(7 reviews)
Categories Soups & Stews