Moroccan Meatball Stew
This Post May Contain Affiliate Links. Please Read My Disclosure
If you’re ready for a flavor adventure, Moroccan Meatball Stew is the answer! This dish is loaded with tender, spiced beef meatballs simmered with onions, bell peppers, and velvety eggplant—all blanketed in a rich, zesty tomato sauce. It’s hearty, colorful, and brimming with layers of flavor that feel both comforting and exotic at the same time.
“This was so very good! I made extra and was so sad when it was gone. If you want a flavor explosion, this is it. Definitely making this again and again and again.”

Why This Recipe is a Keeper!
In this Moroccan-inspired meatball stew (sometimes called kefta tagine), tender spiced meatballs are simmered with onions, colorful bell peppers, and velvety eggplant, creating a medley of textures and flavors. The result is a dish comforting for a chilly evening yet elegant enough for casual entertaining.
This Moroccan Meatball Stew recipe is:
- Comforting yet exotic! This tagine-style recipe feels cozy and familiar, yet offers a taste of global cuisine.
- Crowd-pleasing! Elegant enough for entertaining yet simple enough for a weeknight dinner.
- Adaptable to one-pot convenience! If you prefer, you can brown the meatballs in the skillet, set them aside to prepare the sauce, and then finish them in the sauce.
- Make-ahead friendly! The flavors only deepen the next day, making it perfect for meal prep or future meals.
- Freezer-friendly!
Whether you’re cooking for family, sharing with friends, or stocking your freezer for busy days ahead, Moroccan Meatball Stew delivers comfort, flavor, and a touch of adventure in every bite!

How to Make moroccan meatball stew:
Recipe Ingredients:
Here’s everything you’ll need to make this Moroccan meatballs recipe. The exact quantities are on the recipe card below.

Ingredient Notes and Substitutions:
- Eggplant: Use one medium globe eggplant–approximately one pound. Look for eggplant that is shiny, smooth, and free of blemishes. It should feel heavy for its size. Small to medium-sized eggplant won’t have the seeds or bitterness that large eggplant tends to have.
- Crushed Tomatoes: Crushed tomatoes are a combination of finely diced tomatoes and tomato puree. They’re one of my favorite ingredients to keep on hand for tomato-based recipes because they add texture to a dish yet create a smooth, rich sauce with full, fresh tomato flavor. Only have whole canned tomatoes? Take kitchen shears and chop the tomatoes as finely as you can in the can.
- Hungarian Paprika: Hungarian paprika is made from toasted peppers that are blended to create different varieties. All Hungarian paprikas have a rich, sweet red pepper flavor, but they all range in pungency and heat. Because of that, Hungarian paprika makes a difference in the depth and flavor of this meatball stew recipe.
- Cinnamon: I’m not a fan of cinnamon in savory recipes. However, just a pinch is needed to add authentic Moroccan flavor.
- Beef Broth: Can also use beef stock or bone broth. I like to keep Better Than Bouillon beef base on hand when only a small amount is required as in this meatball stew recipe.
- Ground Beef: I used 85/15 ground beef, which is 85% lean and 15% fat. To reduce the fat, use leaner beef such as 90/10 or 93/7. You can also substitute ground turkey or chicken for an even leaner option. This Moroccan Meatball Stew recipe also works beautifully with ground lamb.
Step-By-Step Instructions:
- Gather and prep all the ingredients for the Moroccan meatballs recipe.
- Preheat oven to 375 degrees.

- Place the eggplant in a colander. Sprinkle with salt and let drain 30 minutes.

- While the eggplant is draining, heat the olive oil in a large skillet over medium-high heat. Add the onion, reduce the heat to medium-low, and cook 5 to 6 minutes or until beginning to soften.

- Transfer 1/3 of the onion to a bowl for the meatballs and let cool.

- Add the bell pepper to the skillet and continue cooking for 3 to 4 minutes, or until it begins to soften.

- Pat the eggplant dry with paper towels. Add it to the skillet and cook for 7 to 8 minutes or until softened, and you can pierce it with the tip of a knife.

- Stir in garlic, paprika, cumin, turmeric, and cayenne …

- … and cook briefly (15 seconds).

- Bring to a simmer and cook 15 minutes or until thickened. Season to taste with salt and black pepper. Stir in the cilantro and keep warm while making the meatballs.

- Line a rimmed baking sheet with parchment paper or nonstick aluminum foil. To the bowl with the reserved onions: Add the garlic, paprika, cumin, cayenne, cinnamon, salt, black pepper, the panko, egg, beef broth, and 1/4 cup chopped cilantro.

- Stir well, then add the beef and mix again.

- Form the beef mixture into 1 to 1 1/2-inch balls. Place on the prepared baking sheet …

- … and bake for 15 to 18 minutes or until 165 degrees in the center.

- Transfer meatballs to the sauce and adjust seasoning as desired.

- Simmer for 5 to 10 minutes so all the flavors blend. Sprinkle with the remaining fresh cilantro and serve.

- That’s it! Cool and refrigerate to serve later or immediately over couscous, quinoa, or rice. A green veggie or salad is all that’s needed on the side!

Chef Tips and Tricks:
- When salting and seasoning the meatball stew, remember that the eggplant has already been salted, so you may not want to add much more to the sauce. Let your palate be your guide. The salt in the meatballs, however, is essential to season them.
- When making meatballs, mix all the ingredients except the ground meat together first. This ensures that all the ingredients–especially the seasonings–are evenly distributed.
- Brown the meatballs in the skillet before making the sauce to make this a one-pot meal. Add them back in to finish cooking in the sauce. Make sure they reach an internal temperature of 165 degrees.
- Cooking the spices briefly after adding them to the vegetables helps to wake them up.

Recipe FAQs:
You can substitute ground lamb, chicken, turkey or you can use a plant-based meat substitute.
Yes, absolutely! I like to bake meatballs because it’s not as messy as browning them on the stovetop. To make this a one-pot meal, you’ll still need to cook the onions first or at least cook the portion required for the meatballs. Brown the meatballs first and remove them to a plate. You may need to refresh the oil, add the cooked onions back to the pan, then proceed as directed with the recipe.
Yes! The meatballs and sauce can be made up to 2 days ahead of time. In fact, the dish tastes even better the next day, making it perfect for meal prep or future meals. Reheat on the stovetop or in the oven.
Brown or bake the meatballs, then place them in a slow cooker. Soften the vegetables and add the spices; transfer to the slow cooker. Add the tomatoes and broth. Cover and cook on LOW for 3 to 4 hours or HIGH for 2 to 3 hours. Check the meatballs to make sure they’re heated to at least 165 degrees in the center of each. Take the slow cooker lid off for the last 45 minutes or so if cooking on LOW and 20-30 minutes if cooking on HIGH to concentrate the flavor as slow cookers have a tendency to water down food.
Yes, they freeze and reheat beautifully. Cool completely, portion as desired, and freeze for 3 to 4 months. Thaw in the refrigerator or microwave then reheat in the oven, toaster oven or microwave. Can also be reheated in the microwave.

variations:
- Serve traditional kefta tagine style and add a couple of eggs. Cover and simmer until the whites are set and the yolk is still runny.
- Add golden raisins or coarsely chopped dried apricots for a touch of sweetness.
Serve with:
More great meatball recipes you’ll love!
Get all my beef recipes at Beef Recipes – From A Chef’s Kitchen.

Moroccan Meatball Stew
Equipment
Ingredients
Sauce
- 1 medium eggplant, (approximately 1 pound) cut into 1/2 to 1-inch cubes
- 2 teaspoons salt, plus more for sauce
- 1/4 cup extra-virgin olive oil, or as needed
- 1 large onion, chopped (3 cups)
- 1 large yellow bell pepper, seeded, membranes removed and chopped
- 1 large red bell pepper, seeded, membranes removed and chopped
- 5 cloves garlic, minced
- 1 tablespoon Hungarian paprika
- 2 teaspoons ground cumin
- 1/2 teaspoon ground turmeric
- 1/2 teaspoon cayenne pepper, or to tolerance
- 1 can (28-ounce) crushed tomatoes
- 3/4 cup beef broth
- Freshly ground black pepper, to taste
- 1/4 cup chopped fresh cilantro
Meatballs
- 3 cloves garlic, minced
- 2 teaspoons Hungarian paprika
- 1 teaspoon ground cumin
- 1/2 teaspoon cayenne pepper
- Pinch ground cinnamon
- 1 teaspoon salt
- 1/4 teaspoon Freshly ground black pepper
- 1/2 cup panko
- 1 large egg
- 1/4 cup beef broth
- 1/2 cup chopped fresh cilantro, divided
- 1 pound ground beef, or lamb
- Cooked couscous, rice, or quinoa
Instructions
Sauce
- Place eggplant in a colander. Sprinkle with salt and let drain 30 minutes.
- While the eggplant is draining, heat the olive oil in a large skillet over medium-high heat. Add the onion, reduce the heat to medium-low, and cook 5-6 minutes or until beginning to soften. Transfer 1/3 of the onion to a bowl for the meatballs and let cool.
- Add the bell pepper to the skillet and continue cooking for 3-4 minutes, or until it begins to soften.
- Pat the eggplant dry with paper towels. Add it to the skillet and cook for 7-8 minutes or until softened, and you can pierce it with the tip of a knife.
- Stir in garlic, paprika, cumin, turmeric, and cayenne and cook briefly (15 seconds).
- Add tomatoes and beef broth.
- Bring to a simmer and cook 15 minutes or until thickened. Season to taste with salt and black pepper. Stir in the cilantro and keep warm.
Meatballs
- Preheat oven to 375 degrees. Line a rimmed baking sheet with parchment paper or nonstick aluminum foil.
- To the bowl with the reserved onions: Add the garlic, paprika, cumin, cayenne, cinnamon, salt, black pepper, the panko, egg, beef broth, and 1/4 cup chopped cilantro. Stir well, then add the beef and mix again.
- Form the beef mixture into 1 to 1 1/2-inch balls. Place on a baking sheet and bake for 15-18 minutes or until 165 degrees in the center.
To Finish
- Transfer meatballs to the sauce and adjust seasoning as desired. Simmer for 5-10 minutes so all the flavors blend.
- Sprinkle with remaining fresh cilantro and serve.
Notes
- Can also use ground lamb, chicken, turkey, or plant-based meat alternatives.
- If the amount of cayenne listed is too much for you, please adjust it to your taste and tolerance. You can always sprinkle more on top if it’s not spicy enough.
- Salt the sauce carefully: the eggplant is already salted, but the meatballs need it.
- Mix all ingredients for the meatballs (except the meat) first for even seasoning.
- To make the dish an actual one-pot meal, brown meatballs before making the sauce. Transfer to a plate, make the sauce, then finish cooking the meatballs in it until 165 degrees in the center of each meatball.
- Cooking the dried spices briefly with the vegetables opens up their flavor.
- Can be made up to 2 days ahead and refrigerated.
- Place in a large baking dish, cover, and reheat in the oven at 350 degrees until bubbling.
- May also be reheated in a slow cooker.
- Cool completely and freeze in portions as desired.
- Thaw in the refrigerator. Reheat in the microwave, oven, or toaster oven at 350 degrees.
Nutrition
Nutritional values are automatically calculated using unbranded products and are estimates only. Actual results may vary based on ingredients used and portion sizes. Adjust as needed for dietary restrictions, allergies, or health concerns.
Like this? Leave a comment below!

























Oh my gosh, was this delicious ! Wasn’t quite sure how it would taste but we loved it and it will now become a weeknight staple- comfort food with flair! Great flavor with the spices!
Hi, Diane, Thanks so very much and so happy you love this recipe! That makes my day. Appreciate you giving this recipe a try and coming back to comment and rate.
This was so very good. I made extra and was so sad when it was gone. If you want a flavor explosion, this is it. Definitely making this again and again and again.
Hi, Carolyn, Thank you so very much!! Really appreciate you trying the recipe and taking the time to come back and comment and rate. So glad you found a keeper in this recipe.
There’s nothing “old fogey” about you Carol. You’ve hit another Grand Slam (sorry, not a football fan but I do like baseball!) with this recipe – AS ALWAYS!!!! Your recipes are always made with a special touch that take them over the top.
Hi, Cheryl, Thank so very much and always great to hear from you and I always appreciate your kind words.
I just made and served this recipe. It is incredible! I was craving a hearty, autumn dish and this recipe was exactly what I needed. Thank you for sharing. *note-my family can’t handle a tsp of cayenne so I reduced it to a quarter tsp.
Will definitely make this again.
Thanks so much, Chriseda! So glad you enjoyed and adapted the recipe to your tastes. Please stay in touch!