Moroccan Meatballs in Tomato Sauce

(serves ~4, can stretch or shrink)

Ingredients

For the meatballs

1 lb (≈ 450 g) ground meat — beef, lamb, or a mix (80/20 fat is good)

½ of a small yellow onion, finely grated or minced

2 garlic cloves, minced

2–3 tbsp fresh herbs: parsley and/or cilantro, finely chopped

1 tsp ground cumin

1 tsp paprika (sweet, not smoked)

¼ tsp cinnamon

Pinch of cayenne or red pepper flakes (adjust heat)

Salt & pepper, to taste

For the sauce

2 tbsp olive oil

1 medium onion, chopped

1 bell pepper (green or red), chopped (optional but nice)

3 garlic cloves, minced

1½ tsp “Moroccan spice blend” (see below)

1 28-oz (800 g) can crushed tomatoes or tomato purée / passata

½ cup water or stock (chicken or vegetable)

Salt & pepper, to taste

Optional: olives (green or Kalamata), preserved lemon bits, additional herbs

Moroccan Spice Blend (if you don’t have a pre-mixed one)

2 tsp paprika

2 tsp ground cumin

½ tsp ground turmeric

½ tsp ground cinnamon

¼ tsp ground black pepper

Pinch of cayenne

Instructions

Make the meatball mix

In a bowl, combine ground meat + grated onion + minced garlic + chopped herbs + cumin + paprika + cinnamon + cayenne + salt & pepper. Mix gently until just combined. Avoid overworking.

Form into small meatballs — cocktail sized (about 1–1½ Tbsp each) is ideal.

Start the sauce base

In a large, deep skillet or Dutch oven over medium heat, warm the olive oil. Add the chopped onion (and bell pepper, if using) and sauté until softened, ~4–5 min.

Add the garlic and the Moroccan spice blend, stir for ~30 seconds until fragrant (don’t burn).

Add tomatoes & simmer

Stir in the crushed tomatoes + water (or stock). Bring to a gentle simmer, reduce heat, and let simmer uncovered for ~10–15 min to slightly thicken and allow flavors to meld.

Cook the meatballs

Gently nestle the meatballs into the sauce, spacing them out. Cover partially (lid slightly ajar). Let the meatballs poach in the sauce for ~10–12 min (or until cooked through). Turn gently once if needed so all sides get sauced.

Finish & adjust

Taste and adjust seasoning (salt, pepper). You can stir in a handful of olives or bits of preserved lemon for extra acidity and pop.

Garnish with fresh herbs (parsley or cilantro) before serving.

Serve

Offer with couscous, steamed rice, quinoa, or crusty bread to soak up the sauce. A simple green salad on the side also works well.

⏱ Timing & Tips to Save Time

While the sauce simmers, shape the meatballs (parallel tasks).

Use canned crushed tomatoes to save time (versus prepping fresh).

Keep your meatballs small — that shortens cooking time.

Use a deep, wide pan so the sauce is shallow — ensures better contact and faster cooking.

If you brown the meatballs lightly before adding (sear in pan), you’ll get a bit more texture, but it’s optional.

Variations & Extras to Try

Add sweetness / dried fruit: Some versions use raisins or chopped apricots to echo North African sweet-savoury profiles. (See the lamb-meatball version with tomato-raisin sauce)

Bowl of Delicious

Eggs: In the traditional Moroccan tagine version, some like to crack eggs into the sauce (after meatballs are partially cooked) and let them poach, like shakshuka + kefta hybrid.

Taste of Maroc

+1

Olives / preserved lemon: Adding these components near the end gives nice brightness and complexity.

More heat: Increase the cayenne or add harissa, chili paste, or fresh chiles.

Smooth sauce: If you prefer a smoother finish, use an immersion blender partway through before adding meatballs.

Course🍽️Main Course

Diets🥩Carnivore...

Category🍖Meatballs

Cuisine🇲🇦Moroccan

Occasions🍲Comfort Food📆Everyday

Season🔁Year-round

DifficultyMedium ⏰ 45m

Loading...