Skip to content
Zaffaron

Kefta Tagine with Eggs (طاجين الكفتة بالبيض) — Moroccan Meatballs in Tomato Sauce

Kefta tagine is a beloved Moroccan classic: spiced meatballs simmered in a rich tomato sauce, then finished with eggs cracked on top. It’s traditionally cooked and served in a tagine, perfect for scooping with bread at the table.

By Zaffaron Kitchen· Published April 4, 2026 Verified Recipe
Gluten-Free Dairy-Free Nut-Free Halal
Contains: eggs
55 min total Prep 20m · Cook 35m 4 servings 520 cal
↓ Jump to Recipe
Kefta Tagine with Eggs — Moroccan Meatballs in Tomato Sauce - authentic moroccan recipe

Printable Recipe Card

Servings: 4 · Total: 55 min · Difficulty: medium

Ingredients (quick list)

  • 500 g ground beef (85% lean) (or half beef, half lamb)
  • 120 g yellow onion, grated
  • 15 g fresh parsley, finely chopped
  • 15 g fresh cilantro, finely chopped
  • 10 g garlic, finely grated
  • 2 tsp ground cumin
  • 2 tsp sweet paprika
  • 1 tsp ground coriander
  • 0.25 tsp ground cinnamon (optional but traditional in some homes)
  • 1.25 tsp fine salt
  • 0.5 tsp black pepper
  • 2 tbsp olive oil

+ 9 more in the full ingredients section below.

Steps (summary)

  1. Make the kefta mixture: In a bowl, combine the ground beef, grated onion, parsley, cilantro, grated garlic, cumin, paprika, cor…
  2. Shape the meatballs: With damp hands, form 20 meatballs, about 25 g each, and set them on a plate. Keep them uniform so they co…
  3. Start the sauce base: Heat the olive oil in a tagine base or wide skillet over medium heat, then add the diced onion and cook f…
  4. Bloom the spices: Add cumin, paprika, turmeric, and cayenne to the onions and stir continuously for 30–45 seconds. This brief t…
  5. Simmer the tomato sauce: Add crushed tomatoes, tomato paste, water, salt, and black pepper, then stir well to dissolve the past…
  6. Cook the meatballs in the sauce: Nestle the meatballs into the simmering tomato sauce in a single layer, spacing them evenly. C…

+ 2 more steps in the full instructions section below.

Cultural Background

Kefta tagine is a staple of Moroccan home cooking, often served bubbling at the center of the table for communal eating with bread. The eggs cracked into the sauce are a signature finish, turning a simple tomato braise into a celebratory, comforting meal.

savorytangywarm-spicedtender meatballssilky tomato saucesoft-set eggstoasted cuminsweet paprikagarlic-tomato richness🌶 mild

Equipment

tagine or wide lidded skilletmixing bowlbox graterchef’s knifewooden spoonmeasuring spoonskitchen scale

💡 Tips

  • For extra-tender meatballs, mix the meat just until cohesive and avoid overworking it beyond 90 seconds.
  • If the sauce tastes sharp, simmer it 5 more minutes uncovered to concentrate sweetness and mellow acidity.
  • Keep the simmer gentle; a hard boil can break the meatballs and make the eggs rubbery.

⚠️ Common Mistakes

  • ❌ Boiling the sauce aggressively after adding meatballs

    ✅ Fix: Keep the heat at a gentle simmer; if it starts bubbling hard, lower the heat and partially cover to control evaporation.

  • ❌ Overcooking the eggs until chalky

    ✅ Fix: Cover and check at 4 minutes; remove from heat when whites are set because carryover heat will continue cooking.

  • ❌ Meatballs falling apart in the sauce

    ✅ Fix: Chill the shaped meatballs for 10 minutes and avoid stirring; instead, spoon sauce over them to coat.

🧊 How to Store

Cool leftovers within 2 hours, then refrigerate in an airtight container for up to 3 days. Reheat gently in a covered pan over low heat with 30 ml water; add fresh eggs only when reheating if you want runny yolks.

📅 Make Ahead

Form the meatballs up to 24 hours ahead and refrigerate covered. The tomato sauce can be simmered 2 days ahead; reheat gently, then add meatballs and cook until done before cracking in the eggs.

🍽️ Pairs Well With

  • Khobz (Moroccan bread)
  • couscous
  • olive salad
  • preserved lemons
  • mint tea.

Regional Variations

  • Marrakesh-style: add 1 tsp ras el hanout to the sauce for a more perfumed spice profile.
  • Coastal variation: mix 1 tbsp chopped preserved lemon peel into the sauce for bright, salty citrus notes.
  • Spicy café version: add 2 tsp harissa and finish with extra olive oil for a punchier, redder sauce.
everyday party ramadan
#classic#family-style#one-pot#gluten-free

Ingredients

  • 500 gground beef (85% lean) (or half beef, half lamb)
  • 120 gyellow onion, grated
  • 15 gfresh parsley, finely chopped
  • 15 gfresh cilantro, finely chopped
  • 10 ggarlic, finely grated
  • 2 tspground cumin
  • 2 tspsweet paprika
  • 1 tspground coriander
  • 0.25 tspground cinnamon (optional but traditional in some homes)
  • 1.25 tspfine salt
  • 0.5 tspblack pepper
  • 2 tbspolive oil
  • 150 gyellow onion, finely diced
  • 12 ggarlic, minced
  • 0.5 tspground turmeric
  • 0.25 tspcayenne pepper (for gentle heat)
  • 800 gcanned crushed tomatoes
  • 2 tbsptomato paste
  • 120 mlwater
  • 4eggs
  • 10 gfresh cilantro leaves (for garnish)

🔄 Substitutions

  • ground beef (85% lean)→ ground lamb
  • cayenne pepper→ harissa
  • canned crushed tomatoes→ fresh ripe tomatoes, grated

Instructions

  1. 1

    Make the kefta mixture: In a bowl, combine the ground beef, grated onion, parsley, cilantro, grated garlic, cumin, paprika, coriander, cinnamon, salt, and black pepper. Mix for 60–90 seconds until the mixture looks cohesive and slightly sticky, which helps the meatballs hold together.

  2. 2

    Shape the meatballs: With damp hands, form 20 meatballs, about 25 g each, and set them on a plate. Keep them uniform so they cook at the same rate, then refrigerate them for 10 minutes while you start the sauce.

  3. 3

    Start the sauce base: Heat the olive oil in a tagine base or wide skillet over medium heat, then add the diced onion and cook for 6–8 minutes until soft and lightly golden. Stir in the minced garlic and cook for 30 seconds, just until fragrant.

  4. 4

    Bloom the spices: Add cumin, paprika, turmeric, and cayenne to the onions and stir continuously for 30–45 seconds. This brief toasting deepens the flavor and prevents the spices from tasting raw in the finished sauce.

  5. 5

    Simmer the tomato sauce: Add crushed tomatoes, tomato paste, water, salt, and black pepper, then stir well to dissolve the paste. Bring to a gentle simmer, reduce heat to medium-low, and cook uncovered for 10 minutes, stirring every few minutes until slightly thickened.

  6. 6

    Cook the meatballs in the sauce: Nestle the meatballs into the simmering tomato sauce in a single layer, spacing them evenly. Cover and cook for 12 minutes, then gently spoon sauce over the tops and cook uncovered for 5–7 minutes until the meatballs are cooked through and the sauce is glossy.

  7. 7

    Add the eggs: Use the back of a spoon to make 4 small wells in the sauce between the meatballs, then crack one egg into each well. Cover and cook for 4–6 minutes until the whites are set and the yolks are still slightly runny, or cook 8 minutes for firmer yolks.

  8. 8

    Finish and serve: Scatter cilantro leaves over the top and let the tagine rest for 2 minutes so the sauce settles. Serve immediately straight from the cooking vessel, spooning meatballs, tomato sauce, and egg onto plates with bread for dipping.

🪪 Recipe Passport

Origin: Moroccan Cuisine
Researched by: Zaffaron Kitchen
Published: April 4, 2026

Cultural Background

Kefta tagine is a staple of Moroccan home cooking, often served bubbling at the center of the table for communal eating with bread. The eggs cracked into the sauce are a signature finish, turning a simple tomato braise into a celebratory, comforting meal.

Regional Variations

Marrakesh-style: add 1 tsp ras el hanout to the sauce for a more perfumed spice profile.
Coastal variation: mix 1 tbsp chopped preserved lemon peel into the sauce for bright, salty citrus notes.
Spicy café version: add 2 tsp harissa and finish with extra olive oil for a punchier, redder sauce.

Researched from multiple sources and validated by the Zaffaron editorial team. Every recipe is tested for accuracy, measurements, and cultural authenticity.

Share:

Nutrition per serving

520
Calories
35g
Protein
33g
Fat
22g
Carbs
6g
Fiber
980mg
Sodium

Pairs well with

If you enjoyed this recipe, here are a few related Zaffaron recipes to try next.

Does your family make this differently?

Every family has their own version. Maybe your grandmother adds a secret ingredient, or your aunt has a completely different technique. Preserve your family's version — with their name on it, forever.

You Might Also Like

Reviews

—
Rated 0.0 out of 5 stars
0 reviews

Cooked this recipe?

Tap the stars to rate it — that's all it takes. A few words are welcome but optional.

Please sign in to rate this recipe.
Rated 0.0 out of 5 stars

No ratings yet. Cooked this one? Be the first to rate it — it takes one tap.