On this page
- Prep
- 20 min
- Cook
- 40 min
- Serves
- 4
Kefta tagine (kefta mkaouara) is a pan of small spiced meatballs simmered in a cumin-and-paprika tomato sauce, with eggs cracked in at the end and cooked until just set. It takes about 20 minutes to prepare and 40 minutes to cook, uses one pan, and is the most forgiving tagine for beginners. In Morocco it is everyday food, at home and in roadside grills where it bubbles over charcoal.
If you have made shakshuka, the finish will be familiar. The meatballs make it a full meal.
At a glance
| Serves | 4 |
| Prep | 20 minutes |
| Cook | 40 minutes |
| Difficulty | Easy |
| Pan | Tagine on a diffuser, or a 28 cm (11 in) lidded skillet |
Ingredients
Kefta (meatballs)
- 500 g (1.1 lb) ground beef, lamb or a mix, 15–20% fat
- 1 small onion, grated and squeezed dry in your hands
- 3 tbsp finely chopped parsley and cilantro
- 1 tsp ground cumin, 1 tsp sweet paprika
- ¾ tsp salt, ¼ tsp black pepper
Sauce
- 800 g (1¾ lb) ripe tomatoes, grated (skins discarded), or 1 can (800 g / 28 oz) crushed tomatoes
- 1 small onion, finely chopped
- 2 garlic cloves, minced
- 3 tbsp olive oil
- 1 tsp ground cumin, 1 tsp sweet paprika, ½ tsp salt
- A pinch of cayenne or 1 small chili (optional)
- 4 eggs
- Extra herbs and cumin to serve
Instructions
- Make the kefta. Mix the meat with the grated onion, herbs, spices, salt and pepper. Knead for 1–2 minutes, until it feels sticky. Wet your hands and roll into balls the size of a walnut (about 20 g each); you should get around 24.
- Start the sauce. Heat the oil in the tagine (on a diffuser, medium-low) or skillet (medium). Cook the onion and garlic for 5 minutes until soft.
- Simmer the tomatoes. Add the tomatoes, sauce spices, salt and chili. Simmer uncovered for 15 minutes until slightly reduced. If using canned tomatoes, add 60 ml (¼ cup) water.
- Cook the meatballs. Drop the raw meatballs into the sauce in a single layer. Cover and simmer 15–20 minutes, turning them once, until cooked through. Add a splash of water if the sauce gets too thick before the meat is done.
- Add the eggs. Make four hollows in the sauce and crack an egg into each. Cover and cook 5–8 minutes, until the whites are set and the yolks still runny. In a clay tagine this can take closer to 10 minutes.
- Serve. Scatter with herbs and a pinch of cumin. Bring the pan to the table and eat with bread, Moroccan style.
Tips for tender kefta
- Squeeze the onion. Grated onion is full of water; squeeze it dry or the meatballs fall apart in the sauce.
- Keep them small. Walnut-size balls cook through before the sauce reduces too far.
- Don't add egg or breadcrumbs. Moroccan kefta is just meat, onion, herbs and spices. The simmering keeps it tender.
- Fat matters. Lean meat at 5% fat gives dry, grainy kefta. If your butcher only has lean, add 1 tbsp olive oil to the mix.
- Rest the mix. If you have time, chill the seasoned meat for 30 minutes. It's easier to roll and the spices settle in.
Mistakes to avoid
| Mistake | Fix |
|---|---|
| Watery, pale sauce | Simmer the tomatoes 15 minutes before the meat goes in |
| Overcooked, chalky yolks | Check at 5 minutes; eggs keep cooking after the heat is off |
| Meatballs breaking up | Squeeze the onion, knead the mix, turn the balls gently only once |
| High heat under clay | Diffuser and medium-low, always |
| Too much cumin | 1 tsp in the meat and 1 in the sauce is enough; it turns bitter in excess |

Variations
| Version | Change |
|---|---|
| Without eggs | Simmer the meatballs 5 minutes longer and finish with herbs |
| With olives | Add a handful of rinsed green olives with the meatballs |
| Chicken or turkey kefta | Use thigh mince, add 1 tbsp olive oil to the mix; cook 15 minutes |
| Spicier | Add ½ tsp harissa to the sauce or a whole green chili while it simmers |
| Fish kefta (kefta del hout) | White fish minced with chermoula herbs; simmer only 10 minutes. Common in coastal cities like Agadir |
| Oven finish | After adding the eggs, bake uncovered at 190 °C (375 °F) for 8–10 minutes |
Grating tomatoes the Moroccan way
Moroccan cooks rarely peel tomatoes with boiling water. Cut each tomato in half, hold it cut-side against the large holes of a box grater and grate until only the skin is left in your hand. You get a fresh pulp in a minute, with no skins curling up in the sauce. It works best with ripe, soft tomatoes; out of season, a good can of crushed tomatoes is the better choice.
Make ahead and storage
Make the kefta mix up to a day ahead and keep it covered in the fridge. You can also cook the sauce with the meatballs, cool and refrigerate for 2 days, then reheat and add the eggs fresh. Uncooked meatballs freeze well for 3 months on a tray, then bagged; drop them into the sauce from frozen and add 5–10 minutes. Leftovers with eggs are best eaten within a day.

What to serve with it
Bread is essential: Moroccan khobz or msemen to scoop up the sauce. A simple tomato-cucumber salad is the usual side. If you have just bought a clay tagine, this is a good first dish to cook in it, since it is short and gentle; read how to season and use a clay tagine first. For something slower and more festive, try lamb tagine with prunes and almonds.
Recipe card
Kefta Tagine with Eggs: Moroccan Meatballs in Tomato Sauce
- Prep
- 20 min
- Cook
- 40 min
- Serves
- 4
Ingredients
- 500 g (1.1 lb) ground beef, lamb or a mix (15-20% fat)
- 1 small onion, grated and squeezed dry
- 3 tbsp finely chopped parsley and cilantro, plus more to serve
- 1 tsp ground cumin (for the meat)
- 1 tsp sweet paprika (for the meat)
- 3/4 tsp salt (for the meat)
- 1/4 tsp ground black pepper
- 800 g (1 3/4 lb) ripe tomatoes, grated, or 1 can (800 g / 28 oz) crushed tomatoes
- 1 small onion, finely chopped
- 2 garlic cloves, minced
- 3 tbsp (45 ml) olive oil
- 1 tsp ground cumin (for the sauce)
- 1 tsp sweet paprika (for the sauce)
- 1/2 tsp salt (for the sauce)
- A pinch of cayenne or 1 small chili, chopped (optional)
- 4 eggs
Method
- 1Mix the ground meat, grated onion, herbs, cumin, paprika, salt and pepper. Knead 1-2 minutes. Roll into about 24 walnut-size balls with wet hands.
- 2In a tagine on a diffuser or a wide lidded skillet, cook the chopped onion and garlic in the oil for 5 minutes.
- 3Add the tomatoes, sauce spices, salt and chili. Simmer uncovered 15 minutes until slightly thick.
- 4Add the raw meatballs in one layer. Cover and simmer 15-20 minutes, turning once, until cooked through.
- 5Make 4 hollows in the sauce and crack an egg into each. Cover and cook 5-8 minutes until the whites are set and yolks still soft.
- 6Scatter with herbs and a pinch of cumin. Serve from the pan with bread.
FAQ
What meat is best for kefta?
Beef, lamb or a mix, with about 15–20% fat. Very lean meat makes dry, crumbly meatballs.
Do I need to brown the meatballs first?
No. In the traditional method the raw meatballs go straight into the simmering sauce and cook there, which keeps them tender and flavours the sauce.
Can I make it without eggs?
Yes. Kefta in tomato sauce without eggs is common too. Simmer the meatballs an extra 5 minutes and serve.
Is kefta tagine spicy?
Mildly. The heat comes from a pinch of cayenne or a chopped chili, which you can leave out.



