Kefta Tagine Recipe with Eggs and Tomato Sauce

Updated November 4, 2026

Total time
1 hr 10 min
prep 25 min · cook 45 min
Serves
4
portions as written
Safe temperature (USDA)
160°F / 71°C
check the thickest piece

Jump to recipe

Kefta Tagine Recipe with Eggs and Tomato Sauce

Kefta tagine is a Moroccan dish of spiced ground meat simmered in a tomato sauce, often finished with eggs cooked right in the pan. This version uses beef or lamb, fresh herbs, cumin, paprika, and a little chile for a savory, gently warming meal that is easy to serve family-style. Recipes vary by household; use a tagine or a wide, heavy skillet with a lid.

Ingredients

  • 1 lb (450 g) ground beef or lamb, preferably 85–90% lean
  • 1 small yellow onion, finely grated, about ½ cup (75 g), divided
  • 3 garlic cloves, minced, divided
  • ¼ cup (10 g) finely chopped fresh cilantro, divided
  • ¼ cup (10 g) finely chopped fresh flat-leaf parsley, divided
  • 1 tsp ground cumin, divided
  • 1 tsp sweet paprika, divided
  • ½ tsp ground ginger
  • ½ tsp fine salt for the kefta, plus ½ tsp for the sauce, or to taste
  • ¼ tsp freshly ground black pepper, plus more to taste
  • ¼ tsp cayenne pepper, optional
  • 2 tbsp (30 ml) olive oil
  • 1 tbsp (16 g) tomato paste
  • 1 can crushed tomatoes, 14.5 oz (411 g)
  • ½ cup (120 ml) water
  • 4 large eggs
  • ¼ tsp ground cinnamon, optional
  • Crusty bread or cooked couscous, to serve

Instructions

  1. Season the meat. In a bowl, combine the ground beef or lamb with half the grated onion, half the garlic, half the cilantro and parsley, ½ tsp cumin, ½ tsp paprika, the ginger, ½ tsp salt, black pepper, and cayenne if using. Mix gently with your fingertips just until evenly combined; overmixing can make the meatballs dense.
  2. Shape the kefta. Form the mixture into about 16 small meatballs, roughly 1½ inches (4 cm) wide. Set them on a plate while you prepare the sauce. There is no need to chill them; keep the plate refrigerated if the kitchen is warm or you are not cooking them right away.
  3. Start the tomato sauce. Heat the olive oil in a wide, heavy skillet or tagine over medium heat. Add the remaining onion and cook for 4–5 minutes, stirring occasionally, until softened but not browned. Stir in the remaining garlic and cook for 30 seconds. Add the tomato paste, remaining ½ tsp cumin, remaining ½ tsp paprika, and cinnamon if using; stir for about 1 minute.
  4. Simmer the meatballs. Stir in the crushed tomatoes, water, and remaining ½ tsp salt. Bring the sauce to a gentle simmer, then carefully arrange the meatballs in a single layer. Cover and cook over low to medium-low heat for 25 minutes, turning the meatballs once halfway through. Keep the sauce at a steady, gentle simmer rather than a hard boil. Check the center of a large meatball with a food thermometer: USDA FSIS sets 160°F (71°C) as the safe minimum internal temperature for ground beef or lamb. If needed, simmer a few minutes longer and check again.
  5. Add the eggs. Make four shallow spaces in the sauce and crack an egg into each. Cover and cook for 5–8 minutes, checking early; the whites should be set and the yolks cooked to your preference. For egg dishes, the USDA FSIS safe minimum is 160°F (71°C); use a thermometer if serving eggs fully cooked to that standard. For a firm yolk, continue cooking until both yolk and white are set.
  6. Finish and serve. Sprinkle with the remaining cilantro and parsley. Bring the pan to the table carefully, or spoon the sauce, meatballs, and eggs into shallow bowls. Serve promptly with bread or couscous.

Tips

  • Keep the meat tender: Mix only until the seasonings are distributed, and shape the balls lightly. Lean meat can dry out more quickly, so avoid simmering longer than needed once it reaches its safe temperature.
  • Choose the right pan: A broad, heavy skillet gives the meatballs room to cook evenly and leaves space for the eggs. If using a traditional clay tagine, follow its care directions and heat it gradually; do not set a cold tagine over high heat.
  • Adjust the sauce: If it looks too thick before the meatballs are done, add water 1 tablespoon (15 ml) at a time. If it is too loose at the end, lift out the meatballs briefly and simmer the sauce uncovered until it thickens.
  • Season in stages: Canned tomatoes vary in saltiness and acidity. Taste the sauce before adding the eggs and adjust the salt or add a pinch of sugar if the tomatoes taste particularly sharp.

Serving Suggestions

Put the tagine in the center of the table with warm Moroccan-style bread, pita, or another crusty loaf for scooping up the sauce and egg. Couscous is another good choice; prepare it separately and spoon the kefta and tomato sauce over it. A simple cucumber, tomato, and herb salad or steamed green beans adds a fresh contrast. If serving four eggs among four people, place one egg and several meatballs in each bowl.

Variations

For a richer lamb flavor, use all ground lamb; beef makes a milder, familiar version. Ground turkey can be substituted, but it has a different texture and must reach 165°F (74°C), the USDA FSIS safe minimum for poultry. For a hotter sauce, add more cayenne or a finely chopped fresh chile. To make the dish without eggs, omit them and serve the meatballs in the sauce. If fresh cilantro is difficult to find, use extra parsley; the flavor will be less citrusy but still balanced. Ras el hanout can replace the cumin, paprika, and ginger: start with 1½ teaspoons, since blends vary in strength.

Storage and Reheating

For food safety, refrigerate leftovers within 2 hours of cooking, storing them in a covered container. Cooked kefta and sauce keep for 3–4 days in the refrigerator. Eggs are best cooked fresh, but leftovers with eggs can also be stored; the yolks may become firmer when reheated. Reheat only the amount needed in a covered pan over low heat with a splash of water, or in a microwave, until the center reaches 165°F (74°C). Freeze meatballs and sauce without the eggs for up to 3 months for best quality; thaw in the refrigerator overnight and reheat to 165°F (74°C), then cook fresh eggs in the hot sauce.

Frequently Asked Questions

Can I make kefta tagine without a tagine?
Yes. A wide, heavy skillet or sauté pan with a tight-fitting lid works well. Keep the heat low enough for a gentle simmer, and check that the pan has enough room for the meatballs and eggs.

Can I prepare the meatballs ahead?
Yes. Shape the kefta, cover it, and refrigerate for up to 24 hours before cooking. Keep raw ground meat at 40°F (4°C) or colder, and cook it to 160°F (71°C). You can also mix the meat shortly before cooking for the freshest texture.

How do I stop the eggs from overcooking?
Add them only after the meatballs are cooked through, make shallow wells so the eggs stay in place, and cover the pan. Begin checking after 5 minutes; take the pan off the heat as soon as the whites are set to your liking, noting that carryover heat will continue cooking them.

Why are my meatballs falling apart?
They may be too large, loosely shaped, or disturbed before they firm up. Form compact but not tightly packed balls and arrange them gently in simmering sauce. Avoid stirring during the first several minutes; turn them carefully once they have begun to set.

Is this dish very spicy?
No, the recipe is mildly seasoned if you leave out the cayenne. For a warmer flavor, add cayenne gradually or serve chile sauce on the side so everyone can adjust their portion.

Can I use fresh tomatoes instead of canned?
Yes. Use about 1½ lb (680 g) ripe tomatoes, peeled if desired and finely chopped. They may release more or less liquid than canned tomatoes, so simmer the sauce uncovered briefly if it seems watery, or add a splash of water if it becomes too thick.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).