This rustic Moroccan kefta tagine features warm-spiced meatballs simmered in a smoky harissa-tomato sauce, finished with eggs baked right into the sauce. Serve straight from the tagine with crusty bread to mop up every drop of the rich, fragrant gravy.
Prep Time20 mins
Cook Time40 mins
Total Time60 mins
Servings4
Yield4 servings
Nutrition Facts
Per serving (estimated)
- 480 kcalCalories
- 28 gFat
- 9 gSaturated Fat
- 16 gCarbs
- 4 gFiber
- 9 gSugar
- 34 gProtein
- 780 mgSodium
- 860 mgPotassium
- 115 mgCalcium
- 5.2 mgIron
- 20 mgVitamin C
- 240 mcgVitamin A
Ingredients
For the meatballs
- 1 lb (450 g) ground beef or lamb
- 1 small yellow onion, finely grated and squeezed dry
- 3 cloves garlic, minced
- 1/4 cup finely chopped fresh parsley
- 1 1/2 tsp ground cumin
- 1 tsp sweet paprika
- 1/2 tsp ground cinnamon
- 3/4 tsp kosher salt
- 1/2 tsp black pepper
For the tomato sauce
- 2 tbsp olive oil
- 1 large yellow onion, finely diced
- 4 cloves garlic, minced
- 1 tbsp sweet paprika
- 1 1/2 tsp ground cumin
- 1 to 1 1/2 tsp harissa paste (to taste)
- 2 tbsp tomato paste
- 1 can (28 oz) crushed tomatoes
- 1/2 cup water
- 1 tsp kosher salt
- 1 tsp sugar
For finishing
- 4 large eggs
- 1/3 cup chopped fresh cilantro and parsley
- 1/2 tsp ground cumin, for sprinkling
- Crusty bread or warm pita, to serve
Directions
- In a large bowl, combine the ground meat, grated onion, garlic, parsley, cumin, paprika, cinnamon, salt, and pepper. Mix with your hands until just combined, then roll into 16 to 20 small meatballs, about 1 1/2 inches in diameter.
- Heat the olive oil in a tagine or wide, heavy oven-safe skillet over medium heat. Add the meatballs in a single layer and brown for 2 to 3 minutes per side, until deeply colored. Transfer to a plate and set aside.
- Pour off all but 2 tablespoons of fat, then add the diced onion to the same pan. Cook for 5 to 6 minutes, stirring, until softened and golden at the edges. Stir in the garlic, paprika, cumin, and harissa, and toast for 30 seconds until fragrant.
- Add the tomato paste and stir for 1 minute to deepen its flavor, then pour in the crushed tomatoes, water, salt, and sugar. Bring to a gentle simmer and cook for 8 to 10 minutes, until the sauce has thickened enough to coat the back of a spoon.
- Nestle the browned meatballs into the sauce in a single layer. Crack the eggs one at a time into small bowls, then slide them over the meatballs, spacing them evenly. Cover the tagine and cook over low heat (or in a 375°F oven) for 6 to 8 minutes, until the egg whites are set but the yolks remain runny.
- Sprinkle with the fresh herbs and an extra pinch of ground cumin, then bring the tagine straight to the table. Serve immediately with hunks of crusty bread for dipping.
- Pro tip: If your tagine cannot go over direct heat, brown the meatballs in a skillet, transfer everything to the tagine, and finish the eggs in a 375°F oven.
Cook’s Notes
- Use a mix of beef and lamb for deeper, more traditional Moroccan flavor; all-beef also works well.
- Toast the spices in the oil for 30 seconds before adding tomatoes to unlock their full aroma without burning.
- If harissa is hard to find, substitute with 1/2 tsp smoked paprika plus a pinch of cayenne.
- A clay tagine gives the most authentic flavor, but a Dutch oven or cast-iron skillet works beautifully.
- Leftover sauce and meatballs (without the eggs) keep in the fridge for 3 days and taste even better the next day.










