Kenyan meatball stew is a one-pot comfort dish that shows up at family tables across Nairobi, Mombasa, and beyond. Spiced beef meatballs simmer in a thick tomato gravy until they soak up every bit of flavor, then get served alongside fluffy ugali and a bright kachumbari salsa.
This stew stands apart from other African meatball dishes because of its warm spice blend. Cumin, curry powder, and turmeric give the sauce a golden depth that you do not find in the nutmeg-heavy Ghanaian version or the pepper-forward Nigerian stew. The tomato gravy is thick and spoonable, clinging to each meatball rather than pooling at the bottom of the bowl.
Key Takeaways
- Cumin and curry powder define the flavor. These two spices appear in both the meatball mixture and the tomato gravy, creating a layered, aromatic dish.
- Brown the meatballs in batches. Overcrowding the pot causes steaming instead of browning, which means less flavor in the final stew.
- Tomato paste needs direct heat. Cooking the paste for 1 to 2 minutes before adding liquid removes the raw, tinny taste and deepens the sauce color.
- Potatoes are optional but traditional. Many Kenyan home cooks add cubed potatoes to stretch the stew and make it more filling.
- Kachumbari is not optional. The fresh tomato-onion-cilantro salsa cuts through the richness of the stew and adds a bright, acidic contrast.
How to Make Kenyan Meatball Stew
- Make the meatball mixture. In a large bowl, combine ground beef, egg, breadcrumbs, grated and squeezed dry onion, minced garlic, 1 tsp cumin, 1 tsp curry powder, turmeric, salt, and pepper. Mix with your hands for 2 to 3 minutes until the mixture holds together and feels slightly sticky.
- Shape the meatballs. Roll the mixture into 16 meatballs, about 1.5 inches across. Set them aside on a plate.
- Brown the meatballs. Heat 2 tbsp oil in a large heavy pot or Dutch oven over medium-high heat. Brown the meatballs in batches for 2 to 3 minutes per side. They do not need to be cooked through - they will finish in the sauce. Transfer to a plate.
- Build the stew base. Reduce heat to medium. Add remaining 1 tbsp oil to the pot. Sauté diced onion for 4 to 5 minutes until softened and translucent.
- Add aromatics. Stir in garlic and ginger. Cook for 1 minute until fragrant.
- Cook the tomato paste. Add tomato paste and cook for 1 to 2 minutes, stirring constantly, until it darkens from bright red to a deeper brick color.
- Add tomatoes and spices. Stir in chopped tomatoes, 1 tsp curry powder, 1/2 tsp cumin, and turmeric. Cook for 5 to 6 minutes, stirring occasionally, until the tomatoes break down and the sauce thickens.
- Add liquid. Pour in beef broth and stir, scraping up any browned bits from the bottom of the pot. Add potato cubes if using.
- Simmer. Bring to a simmer and cook for 10 to 12 minutes until the potatoes are tender and the sauce has thickened to a gravy consistency.
- Add the meatballs. Gently place the browned meatballs into the sauce. Cover and simmer on low heat for 12 to 15 minutes, turning once halfway through, until the meatballs are cooked through and have absorbed the sauce.
- Finish. Taste and adjust salt. Garnish with fresh cilantro.
- Serve. Plate the stew with ugali, rice, or chapati, and a generous spoonful of kachumbari salsa on the side.
Ingredients
For the Meatballs
- 1 lb (450 g) ground beef, 80/20
- 1 large egg
- 1/4 cup fine dry breadcrumbs
- 1 small onion, finely grated and squeezed dry
- 2 cloves garlic, minced
- 1 tsp ground cumin
- 1 tsp curry powder
- 1/2 tsp ground turmeric
- 1/2 tsp kosher salt
- 1/4 tsp black pepper
For the Stew
- 3 tbsp vegetable oil, divided
- 1 large onion, diced
- 3 cloves garlic, minced
- 1 tbsp fresh ginger, grated
- 2 tbsp tomato paste
- 3 large tomatoes, peeled and chopped (or one 14 oz can crushed tomatoes)
- 1 tsp curry powder
- 1/2 tsp ground cumin
- 1/2 tsp turmeric
- 1 cup beef broth or water
- 1 medium potato, peeled and cut into 1-inch cubes (optional)
- Salt to taste
- Fresh cilantro for garnish
For Serving
- Ugali, rice, or chapati
- Kachumbari salsa (recipe below)
Kachumbari Salsa
Kachumbari is the fresh tomato-onion salsa that nearly every Kenyan meat dish gets served alongside. It takes 5 minutes to make and cuts through the richness of the stew.
- 2 medium tomatoes, finely diced
- 1 small red onion, finely diced
- 1 jalapeño or green chili, seeded and finely diced
- 1/4 cup fresh cilantro, chopped
- Juice of 1 lime
- Pinch of salt
Combine all ingredients in a bowl. Toss gently and let sit for at least 5 minutes before serving so the lime juice softens the onions.
Tips
Grate the onion for the meatballs. Use the fine side of a box grater. Chopped onion creates pockets of moisture that can cause the meatballs to crack during browning. Grated onion melts into the meat and disappears.
Use 80/20 ground beef. Leaner beef makes dry, crumbly meatballs. The fat in 80/20 keeps them juicy during the long simmer in the sauce.
Do not skip the tomato paste step. Cooking the paste in oil for 1 to 2 minutes before adding liquid is how you get rid of that raw, tinny canned taste. It also caramelizes the sugars in the paste, which gives the gravy a deeper color and richer flavor.
Add potatoes for a heartier stew. Cubed potatoes absorb the sauce and stretch the dish to feed more people. Add them when you add the broth so they have time to cook through before the meatballs go back in.
Let the meatballs finish in the sauce. Browning creates flavor on the outside, but the meatballs finish cooking in the gravy. This two-step method keeps them tender while building layers of flavor in the stew.
Make kachumbari fresh. The salsa wilts if it sits too long. Prepare it while the stew simmers so it stays crisp and bright when you serve.
Variations
Chicken meatball stew: Swap the ground beef for ground chicken. Reduce the brown time to 1 to 2 minutes per side since chicken cooks faster. The spices stay the same.
Coconut tomato stew: Replace half the beef broth with coconut milk for a creamier, richer sauce. This is common in coastal Kenyan cooking, especially around Mombasa.
Extra spicy version: Add 1 scotch bonnet pepper, whole, to the stew when you add the tomatoes. It infuses heat without overwhelming the dish. Remove before serving if you want milder heat.
Without potatoes: Skip the potatoes and add a can of drained chickpeas in the last 10 minutes of simmering for extra protein and texture.
Storage
Leftover Kenyan meatball stew keeps well in the refrigerator for up to 4 days. Store the meatballs and sauce together in an airtight container. Reheat gently on the stovetop over medium-low heat, adding a splash of water if the sauce has thickened too much.
The stew also freezes well for up to 3 months. Thaw overnight in the refrigerator before reheating.
Frequently Asked Questions
What is kachumbari? Kachumbari is a fresh East African salsa made from diced tomatoes, red onion, chili, cilantro, and lime juice. It is served as a side condiment with grilled meats, stews, and pilau across Kenya, Tanzania, and Uganda. Think of it as the East African version of pico de gallo.
Can I use ground lamb instead of beef? Yes. Ground lamb works well and gives the stew a richer, slightly gamier flavor. Use the same spice amounts. Lamb has more fat than beef, so you may see more oil rise to the surface during simmering - that is normal and adds flavor.
What is ugali? Ugali is a simple cornmeal staple eaten across East Africa. It is made by stirring cornmeal (or maize meal) into boiling water until it forms a thick, dense dough. You pinch off a piece, roll it into a ball, and use it to scoop up the stew. It has a mild, slightly sweet corn flavor and a firm, playdough-like texture.
How is this different from Nigerian meatball stew? Nigerian meatball stew uses scotch bonnet peppers, thyme, and curry powder in a more pepper-forward sauce. Kenyan meatball stew relies on cumin, turmeric, and a milder curry powder blend for a warmer, less fiery flavor profile. The Kenyan version is also typically thicker, with a spoonable gravy rather than a thinner sauce.
Can I make this in a slow cooker? Yes. Brown the meatballs first, then add all the stew ingredients to the slow cooker. Cook on low for 6 to 7 hours or high for 3 to 4 hours. Add the meatballs in the last hour so they do not overcook and become tough.
Is this recipe gluten-free? The stew itself is naturally gluten-free if you skip the breadcrumbs in the meatballs and use gluten-free breadcrumbs or crushed rice crackers instead. Serve with rice rather than chapati to keep the entire meal gluten-free.
Sources
- Kenya National Bureau of Statistics - Food and Agriculture
- Serious Eats - What Is Nyama Choma
- The Spruce Eats - East African Cuisine Guide
- Food52 - Ugali Recipe and History
