Moroccan Recipes
Spiced Meatballs and Eggs in Tomato Sauce
Last updated: September 30, 2026
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.

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.
Ingredients
Kitchen Measurement Converter
Need to convert an amount while you measure? Pick a category, enter a value, and the result updates instantly.
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.
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.
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.

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.
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.

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.
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.

Chef’s Tips From Real Kitchen Testing
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.
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.
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
| Nutrient | Amount per serving |
|---|---|
| Calories | 430 |
| Protein | 30 g |
| Carbohydrates | 14 g |
| Fat | 28 g |
| Saturated Fat | 9 g |
| Fiber | 4 g |
| Sugar | 8 g |
| Sodium | 720 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
Common Mistakes to Avoid
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.
