Kefta Tagine (Moroccan Meatballs in Tomato Sauce)
Kefta tagine is everyday Moroccan home cooking: little meatballs seasoned with onion, parsley, coriander, cumin and paprika, dropped raw into a spiced tomato sauce so they poach gently and stay tender. Eggs go in for the last few minutes. The meatballs are the main event here, and everyone tears off pieces of bread to scoop them up straight from the pan.
By Mei Lin Tan
Published

- Prep Time
- 20 mins
- Cook Time
- 35 mins
- Total Time
- 55 mins
- Servings
- 4 servings
How do you make Kefta Tagine (Moroccan Meatballs in Tomato Sauce)?
For kefta tagine, mix 500 g ground beef with grated onion, parsley, coriander, cumin, paprika, cinnamon, salt and pepper and roll into about 24 small meatballs. Simmer onion, garlic, spices, crushed tomatoes and tomato paste for 10 minutes, add the meatballs, cover and cook for 15 minutes to 71°C (160°F). Crack in 4 eggs, cover until the whites set, and serve with bread.
- Total time
- 55 mins
- Calories
- 500 per serving
- Protein
- 34 g
- Yield
- 4 servings
- Difficulty
- Easy
- Method
- Simmering
Ingredients
Kefta (meatballs)
Sauce
Equipment
Large deep skillet or sauté pan with a lid (28-30 cm), or a stovetop-safe tagine · Mixing bowl · Box grater
Quick Directions
Mix the kefta
Knead the meat with the onion, herbs and spices and roll about 24 small meatballs.
Start the sauce
Soften the onion, then add the garlic and spices.
Simmer the tomatoes
Add the crushed tomatoes, tomato paste, water and salt.
Cook the meatballs
Add the raw meatballs, cover and simmer for 15 minutes to 71°C (160°F).
Add the eggs
Crack the eggs into the sauce, cover and cook until the whites are set.
Serve
Scatter over more parsley and coriander and bring the pan to the table.
Step-by-Step Instructions
Follow these detailed steps to make the perfect kefta tagine (moroccan meatballs in tomato sauce).
Mix the kefta
Put the beef, grated onion, parsley, coriander, cumin, paprika, cinnamon, salt and pepper in a bowl and knead with your hand for 1-2 minutes until the mixture turns slightly sticky. With wet hands, roll it into about 24 small meatballs, roughly 2.5 cm across.
Start the sauce
Heat the oil in a large deep skillet over medium heat. Cook the chopped onion for 5 minutes until soft, then add the garlic, cumin, paprika and cayenne and stir for 1 minute until fragrant.
Simmer the tomatoes
Add the crushed tomatoes, tomato paste, water and salt. Bring to a simmer and cook, uncovered, for 10 minutes, stirring occasionally, until slightly thickened.
Cook the meatballs
Lay the raw meatballs in the sauce in a single layer, cover and simmer over medium-low heat for 15 minutes. Gently turn them halfway through, or shake the pan, so they cook evenly without breaking. They are done when the centre of one reaches 71°C (160°F) with no pink inside.
Add the eggs
Stir the chopped herbs into the sauce. Make 4 gaps between the meatballs and crack an egg into each. Cover and cook over low heat for 5-8 minutes, until the whites are completely set and the yolks are done the way you like them.
Serve
Scatter over more parsley and coriander and bring the pan to the table. Serve with crusty bread for scooping up the sauce.
Recipe Tips
- Squeeze the grated onion hard in your hands or a clean towel before adding it. Too much onion juice makes the kefta soft and hard to roll.
- Keep the meatballs small. They cook through evenly in the sauce and you get more of them in each scoop of bread.
- Don't brown the meatballs first. Poaching them raw in the sauce is the traditional method, and it keeps them tender and flavours the tomatoes.
- Ground beef with some fat (around 15-20%) gives juicier kefta than extra-lean meat.
Variations
- Lamb kefta: use all ground lamb, or half lamb and half beef, for a richer, more traditional flavour.
- Without eggs: skip the eggs and simmer the meatballs for 5 minutes longer. Serve with couscous or rice.
- Spicier: stir 1 tbsp harissa into the sauce with the tomatoes.
Nutrition (per serving)
| Calories | 500 |
|---|---|
| Protein | 34 g |
| Carbs | 22 g |
| Fat | 31 g |
| Saturated fat | 10 g |
| Fibre | 5 g |
| Sugar | 12 g |
| Sodium | 1150 mg |
Estimated from the listed ingredients; values vary by brand.
Related Recipes
Storing & Reheating
- Fridge
- Refrigerate leftovers in an airtight container for up to 3 days. For leftovers, cook only the eggs you will eat straight away, because reheated eggs turn rubbery.
- Freezer
- Freeze the meatballs in their sauce, without eggs, for up to 3 months. Thaw overnight in the fridge.
- Reheat
- Reheat in a covered pan over medium-low heat, adding a splash of water, until the sauce bubbles and the meatballs are hot in the centre. Add fresh eggs at this point if you like.
Kefta Tagine (Moroccan Meatballs in Tomato Sauce) FAQs
What is kefta?
Kefta (also spelled kofta or kafta) is Moroccan spiced ground meat, usually beef, lamb or a mix, seasoned with onion, parsley, coriander, cumin and paprika. It is grilled on skewers or, as in this recipe, rolled into meatballs and simmered in tomato sauce.
How is kefta tagine different from shakshuka?
In shakshuka, eggs poached in a pepper and tomato sauce are the whole dish. Kefta tagine is a meatball dish: spiced beef or lamb kefta cook in the tomato sauce, and the eggs are a final addition that you can leave out.
Do I need to brown the meatballs first?
No. In Morocco the raw meatballs usually go straight into the simmering sauce, which keeps them tender and seasons the sauce. Brown them in a little oil first only if you prefer a firmer outside.
Is kefta tagine gluten-free?
Yes. The kefta contain no breadcrumbs and the sauce has no flour, so the tagine is naturally gluten-free. Serve it with gluten-free bread or rice instead of regular bread.
Can I make kefta tagine without a tagine pot?
Yes. A large, deep skillet or sauté pan with a lid works perfectly. A clay tagine looks lovely at the table, but it needs low heat and a heat diffuser on most stoves.
Disclaimer
- Nutrition information is an estimate based on the listed ingredients. It changes with the brands, portion sizes and swaps you use.
- Read ingredient labels for allergens and for diet claims such as gluten-free or vegan. Products and their ingredients can change.
- Cooking times are a guide, since ovens, air fryers and slow cookers all run differently. Use a food thermometer and cook meat, poultry and fish to the safe internal temperatures in government food safety guidance.
- This recipe is general information, not medical or nutrition advice. If you have an allergy, a health condition or a special diet, check with a qualified health professional.







