
This aromatic Moroccan Meatball Tagine brings the exotic flavors of North Africa right to your kitchen table. The perfectly spiced kefta (meatballs) simmered in a rich tomato sauce with poached eggs creates a memorable one-pan meal that's both comforting and impressive.
I discovered this recipe during a cooking class in Marrakech and have been perfecting it for family gatherings ever since. The first time I served it with those runny eggs on top, my dinner guests practically licked their plates clean.
Ingredients
- Ground lamb: Provides traditional flavor but beef works beautifully too
- Fresh herbs (cilantro and parsley): Essential for authentic Moroccan flavor
- Warm spice blend: Includes paprika, cumin, coriander and cinnamon to create depth without heat
- Grated tomatoes: Make a silkier sauce than chopped tomatoes
- Fresh eggs: Add richness and turn this into a complete meal
- Quality olive oil: Enhances the Mediterranean flavor profile
Step-by-Step Instructions
- Prepare the meatballs:
- Combine ground meat with grated onion, fresh herbs, garlic and spices until just mixed. Form into small 1¼ inch balls. The key here is not to overwork the meat which keeps the meatballs tender. Refrigerate while preparing the sauce to help them hold their shape.
- Create the aromatic base:
- Sauté diced onions in olive oil until they become translucent and start to caramelize slightly around the edges. This sweetens the onions and creates the foundation of flavor for your sauce. Add garlic just briefly to avoid burning.
- Bloom the spices:
- Combine all your dried spices in a small bowl first then add to the oil. This quick toasting in the oil releases their essential oils and significantly enhances their flavor. The fragrance will immediately fill your kitchen with the scents of Morocco.
- Develop the sauce:
- Add tomato paste and cook briefly to caramelize slightly, then mix in grated tomatoes, herbs, salt and water. Allow this mixture to simmer for a full 25 minutes, stirring occasionally. This extended cooking time allows the flavors to meld and the sauce to reduce and intensify.
- Cook the meatballs:
- Nestle the rolled meatballs gently into the simmering sauce. Cover and cook until just done, being careful not to overcook them which would make them tough. The steam trapped under the lid helps cook them evenly from all sides.
- Add the eggs:
- Create wells between the meatballs and crack eggs directly into these spaces. Cover again and cook until the whites are set but yolks remain runny. This final touch transforms the dish from excellent to extraordinary.

This recipe reminds me of my travels through Morocco where I first experienced the magic of combining these warm spices with the richness of egg yolks. The way the spiced sauce mingles with the runny yolk creates a moment of pure culinary bliss that I've been recreating at home ever since.
Make Ahead Options
The meatball mixture can be prepared up to 24 hours in advance and stored in the refrigerator. You can even shape the meatballs ahead of time and keep them covered in the refrigerator. The sauce base can also be made a day ahead and stored separately. When ready to serve, reheat the sauce, add the meatballs, and proceed with the recipe. This makes the dish perfect for entertaining since you can do most of the work in advance.
Perfect Pairings
Traditionally this dish is served with crusty Moroccan bread for scooping up the sauce and eggs. A simple couscous makes an excellent base for the tagine, absorbing all the flavorful sauce. For a fresh contrast, serve with a simple salad of cucumber, tomato and red onion dressed with lemon juice and olive oil. Mint tea makes a perfect beverage pairing following Moroccan tradition.
Spice Adjustments
The beauty of this dish lies in its warm aromatic spices rather than overwhelming heat. If you prefer a spicier version, increase the cayenne pepper or add a finely diced jalapeño to the sauce. For a milder version especially for children, reduce or omit the cayenne entirely. The paprika can be sweet or hot depending on your preference. Authentic Moroccan cooking often includes a spice blend called ras el hanout which can be substituted for the individual spices if you have it on hand.

This Moroccan meatball tagine is a culinary delight your family will request again and again.
Frequently Asked Questions
- → Can I make these Moroccan meatballs ahead of time?
Yes! You can prepare the meatballs up to a day ahead and store them uncooked in the refrigerator. You can also make the sauce in advance. When ready to serve, reheat the sauce, add the meatballs, and continue with the recipe. For best results, always add the eggs fresh just before serving.
- → What's the best type of meat to use for kefta meatballs?
Traditionally, lamb is used for kefta meatballs as it provides a rich flavor that pairs beautifully with the Moroccan spices. However, beef works wonderfully too. For the best texture and flavor, choose meat with about 15-20% fat content. Leaner meats tend to produce drier meatballs.
- → Can I skip the eggs in this tagine?
While you can skip the eggs, they're highly recommended as they add a creamy richness that complements the spiced sauce beautifully. The runny yolks create a luxurious sauce when mixed with the tomato base. If you don't like runny yolks, you can cook them longer until fully set.
- → What's the best way to serve Moroccan meatball tagine?
Traditionally, Moroccan tagine is served family-style directly from the cooking vessel. Serve with warm crusty bread for scooping up the sauce, or over couscous which absorbs the flavorful sauce beautifully. A simple side salad with lemon dressing makes a perfect accompaniment. Garnish with additional fresh herbs and a drizzle of good olive oil.
- → Can I freeze this Moroccan meatball dish?
Yes, you can freeze the meatballs and sauce (without the eggs) for up to 3 months. Thaw overnight in the refrigerator, then reheat gently on the stovetop until bubbling. Add the eggs fresh when reheating and finish cooking as directed in the recipe. The texture may change slightly but the flavors will remain delicious.
- → What can I substitute for fresh herbs if they're unavailable?
If fresh parsley and cilantro aren't available, you can substitute with dried herbs at a ratio of 1 teaspoon dried for every tablespoon of fresh. However, the fresh herbs do provide a brightness that's difficult to replicate. If you can find only one fresh herb, use that and substitute the other with dried.