Why You’ll Love This Recipe
-
Bursting with Moroccan-inspired spices that are warm, aromatic, and inviting.
-
A versatile dish that pairs beautifully with rice, couscous, bread, or pasta.
-
Juicy meatballs with a perfectly seasoned tomato sauce.
-
Quick to prepare in under 40 minutes, ideal for weeknights.
-
Can be made ahead of time and reheated, making it meal-prep friendly.
ingredients
(Tip: You’ll find the full list of ingredients and measurements in the recipe card below.)
For the meatballs:
-
500 g ground beef
-
1 teaspoon fresh ginger, minced
-
3 cloves garlic, minced
-
1 egg
-
1 onion, finely chopped
-
1/8 teaspoon cinnamon
-
1 teaspoon paprika
-
1/4 teaspoon cumin
-
1/4 teaspoon ground black pepper
-
1/2 teaspoon salt
For the sauce:
-
1 tablespoon oil
-
1/2 cup beef broth
-
2 cups tomato puree
-
1 onion, chopped
-
2 cloves garlic, minced
-
1/4 teaspoon red pepper flakes
-
1/2 teaspoon salt
-
1/4 teaspoon ground black pepper

directions
-
In a large bowl, combine the meatball ingredients and mix until well blended.
-
Shape the mixture into medium-sized meatballs.
-
Heat oil in a large skillet over medium heat. Fry the meatballs, turning to brown on all sides, about 5–7 minutes. Remove and set aside.
-
In a pot, heat oil and sauté the onion for 1 minute. Add garlic and cook for another minute.
-
Stir in beef broth, tomato puree, salt, pepper, and red pepper flakes. Bring to a boil, then reduce heat and simmer for 5 minutes.
-
Add the meatballs to the sauce, cover, and simmer for 15 minutes until cooked through.
-
Garnish with fresh mint or parsley and serve hot over rice, spaghetti, or couscous.
Servings and timing
This recipe makes about 10 servings.
Prep time: 10 minutes
Cook time: 25 minutes
Total time: 35 minutes
Variations
-
Lamb meatballs: Substitute ground lamb for beef for richer flavor.
-
Spicy twist: Add more red pepper flakes or a pinch of cayenne for heat.
-
Vegetarian option: Swap the beef for lentils or chickpeas to make plant-based meatballs.
-
Herb boost: Add chopped cilantro or parsley into the meat mixture for extra freshness.
-
Cheesy version: Add a cube of mozzarella inside each meatball for a melty surprise.
storage/reheating
-
Refrigerate: Store leftovers in an airtight container for up to 4 days.
-
Freeze: Freeze meatballs with sauce for up to 3 months. Thaw overnight in the fridge before reheating.
-
Reheat: Warm gently in a skillet or saucepan over low heat, adding a splash of broth or water if the sauce has thickened.
FAQs
Can I use lamb instead of beef?
Yes, lamb works wonderfully and adds a richer flavor.
How do I keep the meatballs juicy?
Use beef with a little fat content and avoid overmixing the meat.
Can I make this dish ahead of time?
Yes, you can prepare the meatballs and sauce in advance, then reheat before serving.
What can I serve with Moroccan meatballs?
They go well with couscous, rice, flatbread, or spaghetti.
Can I bake the meatballs instead of frying?
Yes, bake at 400°F (200°C) for about 20 minutes, then simmer in the sauce.
Are these meatballs spicy?
They are mildly spiced, but you can adjust by adding more or less red pepper flakes.
Can I make them gluten-free?
Yes, the recipe is naturally gluten-free as long as you check the labels on broth and spices.
Can I add vegetables to the sauce?
Absolutely—bell peppers, zucchini, or carrots work well in the sauce.
How do I know the meatballs are cooked through?
They should reach an internal temperature of 160°F (71°C).
Can I double the recipe?
Yes, this recipe scales easily, making it perfect for large family meals or gatherings.
Conclusion
Moroccan Meatballs in Tomato Sauce are a flavorful, comforting dish that combines warm spices, tender meatballs, and a rich tomato base. Easy to make and versatile to serve, they’re perfect for both weeknight dinners and special occasions. Whether paired with couscous, rice, or pasta, these meatballs will bring Moroccan-inspired warmth and flavor to your table every time.

Moroccan Meatballs in Tomato Sauce
- Prep Time: 10 minutes
- Cook Time: 25 minutes
- Total Time: 35 minutes
- Yield: 10 servings
- Category: Dinner
- Method: Stovetop
- Cuisine: Moroccan
Description
Moroccan Meatballs in Tomato Sauce are spiced ground beef meatballs simmered in a rich, aromatic tomato sauce with cumin, cinnamon, and paprika. Tender and flavorful, they pair beautifully with rice, couscous, or spaghetti for an easy, comforting meal.
Ingredients
500 g ground beef
1 teaspoon fresh ginger, minced
3 cloves garlic, minced
1 egg
1 onion, finely chopped
1/8 teaspoon cinnamon
1 teaspoon paprika
1/4 teaspoon cumin
1/4 teaspoon ground black pepper
1/2 teaspoon salt
1 tablespoon oil
1/2 cup beef broth
2 cups tomato puree
1 onion, chopped
2 cloves garlic, minced
1/4 teaspoon red pepper flakes
1/2 teaspoon salt
1/4 teaspoon ground black pepper
Instructions
- In a large bowl, combine the meatball ingredients and mix until well blended.
- Shape the mixture into medium-sized meatballs.
- Heat oil in a large skillet over medium heat. Fry the meatballs, turning to brown on all sides, about 5–7 minutes. Remove and set aside.
- In a pot, heat oil and sauté the onion for 1 minute. Add garlic and cook for another minute.
- Stir in beef broth, tomato puree, salt, pepper, and red pepper flakes. Bring to a boil, then reduce heat and simmer for 5 minutes.
- Add the meatballs to the sauce, cover, and simmer for 15 minutes until cooked through.
- Garnish with fresh mint or parsley and serve hot over rice, spaghetti, or couscous.
Notes
Substitute ground lamb for beef for a richer flavor.
Add more red pepper flakes or a pinch of cayenne for a spicy twist.
Swap beef for lentils or chickpeas for a vegetarian option.
Add chopped cilantro or parsley into the meat mixture for extra freshness.
Add a cube of mozzarella inside each meatball for a melty surprise.
Store leftovers in an airtight container in the fridge for up to 4 days.
Freeze meatballs with sauce for up to 3 months; thaw overnight before reheating.
Reheat gently over low heat, adding a splash of broth if sauce thickens.
Nutrition
- Serving Size: 1 meatball with sauce
- Calories: 220
- Sugar: 5g
- Sodium: 420mg
- Fat: 12g
- Saturated Fat: 5g
- Unsaturated Fat: 6g
- Trans Fat: 0g
- Carbohydrates: 8g
- Fiber: 2g
- Protein: 18g
- Cholesterol: 65mg