Moroccan Kefta Tagine (Meatballs and Eggs in Tomato Sauce) Recipe

Moroccan Recipes

Spiced Meatballs and Eggs in Tomato Sauce

Last updated: September 30, 2026

Quick Answer Kefta tagine is a Moroccan dish of spiced beef or lamb meatballs simmered in a cumin and paprika tomato sauce, with eggs cracked in and poached on top at the end. It is rich, gently spiced, and naturally halal, and it is served straight from the pan with plenty of bread.

Kefta tagine is the kind of dish that turns a pan of tomatoes into a whole meal. Small, herb-flecked meatballs of ground beef or lamb are browned, then nestled into a simmering sauce of tomato, onion, garlic, cumin, and paprika until they are tender and the sauce is thick. Just before serving, eggs are cracked over the top and left to poach in the bubbling sauce, so you get soft meatballs, silky tomato, and just-set eggs in every scoop. Traditionally cooked and served in a conical clay tagine, it is friendly weeknight food with a bit of drama at the table.

Moroccan kefta tagine with spiced meatballs and poached eggs in tomato sauce, served with bread
Moroccan kefta tagine, spiced meatballs and eggs poached in a cumin and paprika tomato sauce.

Why This Kefta Tagine Works

Kefta tagine looks impressive but is built from two simple parts: seasoned meatballs and a good tomato sauce. Get each right on its own and the dish almost finishes itself. The meatballs carry the spice, while the sauce carries the moisture, and the eggs poached on top pull the whole pan together into something greater than its parts.

The meatballs are kept small and soft. Grated onion and chopped fresh herbs go straight into the meat, along with cumin and paprika, so every bite is seasoned all the way through rather than only on the surface. Small meatballs also cook quickly and stay juicy, and they let the sauce reach around each one instead of steaming in a crowded pile.

The sauce is a gentle simmer, not a hard boil. Onion and garlic soften first, the spices bloom in the warm oil, and the tomatoes cook down slowly until they turn thick and glossy. That patience is what gives the sauce its depth, and a thick sauce is also what lets the eggs sit on top and poach cleanly instead of sinking and scrambling.

Finally, the eggs are added last and treated gently. You make small wells in the sauce, slide the eggs in, cover the pan, and let the trapped heat set the whites while the yolks stay soft. Pull the pan while the yolks still have a wobble, because they keep firming as the tagine rests on its way to the table.

Pro observation: The sauce is ready for the eggs when a spoon dragged across the pan leaves a brief trail before the sauce closes back over it. If the sauce is still thin and watery, simmer a few minutes longer, or the eggs will spread instead of poaching.

Prep Time
20 min
Cook Time
40 min
Total Time
60 min
Servings
4
Medium Halal High-Protein About 430 cal / serving

Ingredients

Serves 4

Kitchen Measurement Converter

Need to convert an amount while you measure? Pick a category, enter a value, and the result updates instantly.

Want more options? Open the full tomato measurement converter.

Ingredient Notes & Substitutions

Meat

Ground beef and ground lamb both work, and many Moroccan cooks use a mix of the two. Choose meat with some fat, around 15 to 20 percent, so the meatballs stay juicy. Lean meat can turn dry and firm as it simmers in the sauce.

Herbs & Spices

Fresh parsley and cilantro are worked right into the meat and also finish the dish. Cumin and sweet paprika are the backbone; a pinch of cinnamon or ground ginger is a common Moroccan touch if you want more warmth in the sauce.

Tomatoes

A can of crushed tomatoes gives a smooth, reliable sauce year round. In summer, use about 2 pounds of ripe fresh tomatoes, grated or chopped, and simmer a little longer to cook off the extra liquid until the sauce is thick.

Eggs

Use fresh large eggs and crack them into the sauce only in the last few minutes. Cold eggs straight from the fridge poach a touch more slowly, so let them come toward room temperature if you can for evenly set whites and soft yolks.

Equipment

  • Tagine or wide skillet
  • Lid for the pan
  • Mixing bowl
  • Box grater
  • Sharp knife and board
  • Wooden spoon

Before You Start

1. Grate the onion, then pour off the juice. A grated onion sheds a surprising puddle of liquid. Tip off whatever pools in the bowl and keep the pulp, so the kefta mix stays soft but still rolls into rounds that hold their shape instead of slumping in the pan.

2. Set up a wet-hands rolling station. Put a small bowl of cold water and an oiled plate next to the meat. Damp palms stop the mix sticking, so you can roll 16 to 20 even, walnut-sized kefta fast, and even size means they all finish cooking at the same moment.

3. Take the eggs out of the fridge now. They go in close to an hour from now, right at the end. Room-temperature eggs set inside the 5 to 7 minute window; fridge-cold ones lag behind and tempt you to keep the lid on until the yolks turn chalky.

Step-by-Step Instructions

Kefta tagine comes together in stages: mix and shape, brown, build the sauce, simmer, then poach the eggs. Have everything chopped before you start, and warm your bread near the end so the whole dish reaches the table hot.

1

Mix and Shape the Meatballs

In a bowl, combine the ground meat, grated onion, half of the parsley and cilantro, 1 teaspoon of the cumin, 1 teaspoon of the paprika, and half of the salt. Mix gently with your hands until just combined, then roll into small meatballs about the size of a walnut. You should get roughly 16 to 20. Do not overwork the mix or the meatballs turn tough.

2

Brown the Meatballs

Heat 1 tablespoon of the olive oil in a tagine or wide skillet over medium heat. Add the meatballs in a single layer and brown them on the outside, turning gently, for about 4 to 5 minutes. They do not need to cook through here, since they finish in the sauce. Lift them out onto a plate and set aside.

Small spiced meatballs browning in olive oil in a skillet
Brown the meatballs just to color the outside; they finish cooking in the sauce.
3

Build the Tomato Sauce

Add the remaining tablespoon of olive oil to the same pan and stir in the chopped onion. Cook for 4 to 5 minutes until soft, then add the minced garlic and the rest of the cumin and paprika. Stir for about 1 minute, until the spices smell fragrant and toasty, keeping the heat moderate so the garlic and spices do not scorch.

4

Simmer the Meatballs in the Sauce

Pour in the crushed tomatoes and the remaining salt, and stir to combine. Bring to a gentle simmer, then return the meatballs to the pan along with any resting juices. Cover and simmer over low heat for 15 to 18 minutes, until the meatballs are cooked through and the sauce has thickened. Stir in most of the remaining herbs.

Meatballs simmering in a thick red tomato sauce in a tagine
Simmer the meatballs until cooked through and the sauce is thick and glossy.
5

Crack in the Eggs

Use the back of a spoon to make small wells between the meatballs. Crack an egg into each well, spacing them out evenly around the pan. Work quickly so all the eggs go in at about the same time and cook at the same rate.

6

Poach the Eggs and Serve

Cover the pan and cook over low heat for 5 to 7 minutes, until the egg whites are set but the yolks are still soft, or a minute or two longer if you prefer firm yolks. Pull the pan off the heat, scatter over the reserved parsley and cilantro, and bring it straight to the table with warm bread for scooping.

Finished kefta tagine with poached eggs on top of meatballs in tomato sauce
Poach the eggs until the whites set and the yolks stay soft, then serve straight from the pan.

Chef’s Tips From Real Kitchen Testing

1

Keep the meatballs small and mix the meat gently. Small, lightly handled meatballs stay tender and cook through in the time it takes the sauce to thicken.

2

Let the sauce thicken before the eggs go in. A thick, glossy sauce holds the eggs in place so they poach cleanly instead of spreading and scrambling.

3

Cover the pan while the eggs poach. The trapped heat sets the whites from above without overcooking the yolks or the meatballs underneath.

Recipe Variations

Serving Suggestions

  • Warm crusty bread or khobz for scooping
  • A simple green salad with lemon
  • Fluffy couscous or rice on the side
  • Mint tea to finish the meal

Nutrition Facts

Estimated nutrition per serving of kefta tagine.
NutrientAmount per serving
Calories430
Protein30 g
Carbohydrates14 g
Fat28 g
Saturated Fat9 g
Fiber4 g
Sugar8 g
Sodium720 mg

Values are estimates per serving and vary with the exact ingredients and brands you use.

Make-Ahead Tips

Shape the meatballs and cook the tomato sauce with the meatballs a day ahead, then refrigerate the pan without the eggs. When ready to serve, reheat until bubbling, crack in the eggs, and poach them fresh so the yolks stay soft.

Storage, Freezing & Reheating

Refrigerator
Leftovers keep 3 days in an airtight container. The meatballs and sauce reheat well; the poached eggs are best eaten the day they are made.
Freezer
Freeze the meatballs in their sauce, without eggs, for up to 3 months. Thaw overnight in the fridge, reheat gently, then add and poach fresh eggs before serving.
Reheating
Warm gently in a covered pan over low heat until hot, adding a splash of water if the sauce has thickened too much. Avoid boiling hard, which toughens the meatballs.

Common Mistakes to Avoid

×Crowding every meatball into the pan to brown at once. Packed kefta steam grey instead of coloring, and without that light crust they break apart when you nestle them into the sauce.
×Blooming the cumin and paprika over high heat. Paprika scorches in seconds and turns the whole sauce bitter and muddy brown; keep the heat moderate and stir for about a minute.
×Letting the sauce boil hard once the kefta go back in. A rolling boil tightens the meat and splits the soft meatballs; keep it at a lazy, barely bubbling simmer under the lid.
×Cracking in the eggs before the kefta are cooked through. The eggs need only 5 to 7 minutes, so meatballs still pink in the center, below 160 F (71 C), will stay underdone.
×Stirring or shaking the pan after the eggs go in. It breaks the yolks and smears the whites through the sauce, and you lose the whole point: whole eggs sitting on top.

Troubleshooting

Watery sauce? It was not reduced enough before the eggs went in. Next time, simmer the sauce uncovered for a few extra minutes until a spoon leaves a brief trail across the pan.

Tough meatballs? The meat was too lean or overmixed. Use meat with some fat and combine it just until it holds together, then shape without pressing hard.

Eggs overcooked? The heat was too high or the lid stayed on too long. Keep the heat low and start checking at the 5 minute mark, pulling the pan while the yolks still wobble.

A Note on Moroccan Cooking

The word kefta refers to spiced balls of minced meat, seasoned with fresh herbs and warm spices and shaped by hand. When those meatballs are simmered in sauce inside a tagine, the conical clay pot that gives the dish its name, the result is kefta tagine, also known as kefta mkaouara. The tagine’s tall lid traps steam and returns it to the pot, so the meatballs stay moist and the sauce concentrates slowly, which is exactly the gentle, self-basting cooking the dish is built around.

It is easy to mix up kefta with grilled kofta skewers, but they are cooked quite differently: skewered kofta is pressed onto sticks and grilled over fire, while kefta tagine poaches the meatballs and eggs together in a tomato sauce. The tagine version is saucier and softer, made for scooping with bread rather than eating off a skewer.

Kefta tagine sits among a whole family of Moroccan tomato dishes. It shares its cumin-and-paprika soul with cooked salads and dips like Moroccan zaalouk and the slow-cooked matbucha, and it is close kin to other spiced meatball dishes such as lamb meatballs with cumin, mint, and tomato sauce. What ties them together is the same trick this recipe relies on: a patient tomato base, warm North African spices, and meat or eggs added at just the right moment.

Frequently Asked Questions

Kefta tagine is a Moroccan dish of spiced beef or lamb meatballs simmered in a cumin and paprika tomato sauce, with eggs poached on top at the end. It is also called kefta mkaouara and is served straight from the pan with bread.
Grilled kofta is pressed onto skewers and cooked over fire, while kefta tagine poaches the meatballs and eggs together in a tomato sauce. The tagine version is saucier and softer, meant for scooping with bread rather than eating off a skewer.
Ground beef, ground lamb, or a mix of the two all work well. Choose meat with some fat, around 15 to 20 percent, so the meatballs stay juicy as they simmer in the sauce rather than turning dry.
No. A traditional clay tagine is lovely and helps concentrate the sauce, but a wide skillet or shallow pot with a lid works just as well. You need a pan that holds the meatballs in one layer and can be covered while the eggs poach.
Add the eggs only in the last few minutes, keep the heat low, and cover the pan so the whites set from the trapped steam. Start checking at 5 minutes and pull the pan while the yolks still have a slight wobble, since they keep firming as the tagine rests.
Yes. Made with beef or lamb, eggs, tomatoes, herbs, and spices, kefta tagine is naturally halal and contains no forbidden ingredients. Use halal-certified meat and the whole dish is suitable as written.
The classic pairing is plenty of warm bread for scooping up the sauce, meatballs, and eggs. A simple green salad, couscous, or rice rounds out the meal, often finished with a glass of mint tea.
Yes. Cook the meatballs in their tomato sauce a day ahead and refrigerate without the eggs. When ready to serve, reheat until bubbling, crack in the eggs, and poach them fresh so the yolks stay soft.
Was this recipe helpful?
☆☆☆☆☆
Thanks for rating!
Timer
0:00