Moroccan · 50 minutes · By Amira

Moroccan Kefta Tagine with Eggs (Kefta Mkaouli)

Kefta mkaouli is the tagine that makes guests lean over the table. Small, hand-rolled beef meatballs — perfumed with cumin, paprika, cinnamon, and cilantro — simmer in a bright tomato sauce, and at the very end, eggs are cracked right into the pan and poached until the whites are set and the yolks still wobble. You eat it directly from the pot with crusty bread, dragging through the sauce. It is the dish Moroccan bistros serve at lunch, and it comes together in under an hour — no long braise, no specialty equipment, just a wide shallow pan and good bread. The hardest part is not eating the meatballs before the eggs go in.

Moroccan kefta tagine with beef meatballs and poached eggs in tomato sauce
20 minutes prep30 minutes cook50 minutes total4 servingsEasy
By AmiraFounder & Editor-in-Chief · Mediterranean & Moroccan
✓ Tested by our team

Ingredients

  • 1 lb ground beef (80/20)
  • 1 small onion, grated (squeeze out the excess liquid)
  • 2 cloves garlic, minced
  • 1/3 cup finely chopped fresh cilantro, plus more for garnish
  • 2 tablespoons finely chopped fresh parsley
  • 1 teaspoon ground cumin
  • 1 teaspoon paprika
  • 1/2 teaspoon ground cinnamon
  • 1/2 teaspoon ground ginger
  • 1/2 teaspoon black pepper
  • 1 teaspoon salt, divided
  • 2 tablespoons olive oil
  • 1 medium onion, finely diced (for the sauce)
  • 3 cloves garlic, thinly sliced (for the sauce)
  • 1 can (14 oz) crushed tomatoes
  • 1 tablespoon tomato paste
  • 1/4 teaspoon sugar
  • 4–6 large eggs

Instructions

  1. Make the kefta: in a bowl, combine the ground beef, grated onion, minced garlic, cilantro, parsley, cumin, paprika, cinnamon, ginger, pepper, and 1/2 teaspoon salt. Mix with your hands until just combined — do not overwork it. Roll into small meatballs, about 1-inch (walnut-sized). Chill for 15 minutes if you have time; it helps them hold together.

  2. Heat the olive oil in a wide, shallow pan or tagine over medium heat. Add the diced onion and cook for 5 minutes until soft, then add the sliced garlic and cook 1 minute more.

  3. Stir in the tomato paste and cook for 1 minute, then add the crushed tomatoes, sugar, and remaining 1/2 teaspoon salt. Simmer uncovered for 8–10 minutes, stirring occasionally, until the sauce has thickened and darkened slightly.

  4. Nestle the kefta meatballs into the sauce in a single layer. Spoon a little sauce over each one, cover, and simmer gently for 10–12 minutes until the meatballs are cooked through.

  5. Make 4–6 shallow wells in the sauce and crack an egg into each. Cover the pan and cook over low heat for 5–7 minutes — until the whites are set but the yolks are still soft. Do not stir once the eggs go in.

  6. Remove from the heat, scatter with cilantro, and carry the pan straight to the table. Serve with plenty of warm bread for scooping; the eggs keep cooking in the hot sauce, so eat promptly.

Tips for Success

  • Walnut-sized meatballs, not golf balls. Small ones cook through in the sauce and mingle with the eggs; big ones steam into dense patties.
  • The eggs finish off-heat. Pull the pan when the whites are just set — the hot sauce carries them the rest of the way. Overcooked kefta eggs turn rubbery fast.
  • No tagine pot? A wide sauté pan or shallow Dutch oven with a lid does the exact same job. Wide is important: you need room for the eggs.

Perfect pairings

These recipes belong on the same table — cook them together for a full spread, or swap in a variation next time.

Frequently Asked Questions

Can I use ground lamb or chicken instead of beef?
Yes. Lamb is the traditional alternative and works exactly the same. Ground chicken or turkey needs a tablespoon of oil mixed into the kefta — they are so lean the meatballs can turn dry.
What do I serve with kefta tagine?
Warm crusty bread is the classic — you need something to drag through the tomato-egg sauce. Steamed couscous or rice also work, and a simple green salad on the side balances the richness.
Can I make it without the eggs?
Absolutely. Skip the egg step entirely and you have kefta in tomato sauce — a 35-minute meal that is just as good over couscous or smashed into sandwiches.
How do I keep the yolks runny?
Low heat and a tight lid. Crack the eggs in, cover, and cook 5–7 minutes over the lowest flame. If your pan has a loose lid, add a splash of water to the pan edge to create steam, and pull the pot a touch early — carryover heat finishes the whites.
Why do my meatballs fall apart in the sauce?
Usually the kefta mixture is too wet or it was overworked. Squeeze the grated onion very dry before adding it, mix until just combined, and chill the shaped meatballs for 15 minutes. Then simmer them gently — a rolling boil will break them up. If they still crumble, add 2 tablespoons of breadcrumbs or an egg yolk to bind the mixture.
Why are my eggs rubbery or overcooked?
They stayed on the heat too long. Poach the eggs for 5–7 minutes over the lowest heat with the lid on, and pull the pan while the whites are just set and the yolks still wobble — carryover heat finishes them as you carry the pot to the table. Rubbery whites mean the pan was too hot or the eggs went in too early.
Why is my tomato sauce watery?
The sauce needs to cook down before the meatballs go in. Simmer the crushed tomatoes and paste for a full 8–10 minutes uncovered until thickened and darkened; if you skip that, the meatballs and eggs release extra liquid and you get soup. Salt at the end, after the sauce has reduced.

Affiliate disclosure: this page contains affiliate links. If you buy equipment through them, Cuisinety earns a small commission at no extra cost to you — it keeps the site free, and we only recommend gear we actually use. Read ourfull affiliate disclosure.

Browse all 17 moroccan recipes →

Love this recipe? Pin it!

Save it to your Pinterest board so you can find it later.

Pin this Recipe

Keep cooking