Equipment
Ingredients
Meatballs
- 500 g ground lamb, chilled
- 1 yellow onion, finely grated and squeezed dry
- 4 garlic, finely minced
- 15 g fresh mint leaves, finely chopped
- 15 g fresh cilantro leaves, finely chopped
- 4 g ground cumin
- 3 g ground coriander
- 3 g smoked paprika
- 1 g cayenne pepper
- 5 g fine sea salt
- 15 ml olive oil
Harissa Coconut Sauce
- 15 ml olive oil
- 2 shallot, finely diced
- 3 garlic, minced
- 60 g harissa paste
- 30 g tomato paste
- 2 g ground cumin
- 120 ml low-sodium chicken stock
- 400 ml full-fat canned coconut milk, shaken well
- 3 g fine sea salt
- 15 ml fresh lemon juice
Garnish
- 5 g fresh cilantro leaves, roughly chopped
- 25 g pomegranate arils
Nutrition (per serving)
Nutrition is estimated per serving. Nutrients without complete source data are omitted.
Full nutrition
- Calories
- 679 kcal
- Protein
- 26 g
- Carbohydrates
- 15 g
- Fat
- 59 g
- Sodium
- 958 mg
- Saturated Fat
- 33 g
- Potassium
- 827 mg
- Calcium
- 103 mg
- Iron
- 7.9 mg
- Magnesium
- 94 mg
- Phosphorus
- 346 mg
- Zinc
- 5.2 mg
- Vitamin A
- 199 mcg
- Vitamin C
- 14 mg
- Water
- 207 g
Sources: Aggregated Public Data, USDA FoodData Central
Method
Place ground lamb, squeezed grated onion, minced garlic, chopped mint, chopped cilantro, cumin, coriander, smoked paprika, cayenne, and fine sea salt into the large mixing bowl. Wash hands immediately after handling raw meat to avoid cross-contamination.
Portion the meat mixture into 16 equal pieces (roughly 38g each) and roll them between clean, damp palms into smooth, compact spheres. Sanitize work surfaces and wash hands thoroughly with warm soapy water.
Heat 15 ml olive oil in the large high-sided skillet over medium-high heat at 180°C (356°F) until shimmering. Carefully add the meatballs in a single layer without crowding.
Transfer the seared meatballs using tongs onto a clean plate, leaving the rendered lamb fat in the skillet. Note that the centers remain partially raw at this stage.
Add the remaining 15 ml olive oil, diced shallots, and remaining minced garlic to the fat in the skillet over medium heat at 160°C (320°F).
Stir harissa paste, tomato paste, and 2 g ground cumin into the softened aromatics in the skillet.
Pour the low-sodium chicken stock into the skillet, stirring and scraping up all browned fond stuck to the pan bottom with the wooden spoon.
Pour in the full-fat coconut milk and 3 g fine sea salt, whisking gently until the sauce blends into a uniform, creamy coral color.
Nestle the seared meatballs and any accumulated juices from the clean plate into the simmering sauce in a single layer.
Cover the skillet with the lid, reduce heat to low at 85°C (185°F), and simmer until the thickest part of the meatballs registers at least 71°C (160°F) on a digital instant-read meat thermometer.
Remove skillet from heat and gently swirl in 15 ml fresh lemon juice, avoiding breaking the meatballs.
Distribute four meatballs per portion into shallow serving bowls, ladle warm sauce generously over the top, and scatter with fresh cilantro leaves and pomegranate arils if desired.
Chef's Notes
- Squeezing out onion moisture is the secret to egg-free meatball integrity. Grated onion introduces essential flavor and sweetness, but excess liquid will dilute natural meat proteins and cause meatballs to disintegrate in hot oil.
- Kneading ground meat triggers myosin protein extraction. Mixing for 2 full minutes creates an emulsified protein network that binds the meat firmly without needing breadcrumbs or egg binders.
- Full-fat canned coconut milk is essential here. Light coconut milk contains too much water and too few natural emulsifying fats, leading to a watery sauce that splits rapidly when exposed to the acid in harissa and lemon juice.
- Do not skip browning the harissa and tomato paste in the rendered lamb fat. This step mellows harsh raw chili sharpness and creates deep caramelized flavor undertones that anchor the rich coconut cream.
Storage
Refrigerator: 4 days — Cool leftovers rapidly and refrigerate in an airtight container within 2 hours of cooking at or below 4°C (40°F).
Freezer: 3 months — Freeze meatballs fully submerged in sauce in an airtight freezer-safe container to prevent freezer burn.
Reheating: Transfer thawed meatballs and sauce to a covered saucepan over medium-low heat; reheat until simmering and the center of the meatballs reaches an internal temperature of 74°C (165°F).
Troubleshooting
Meatballs break apart or crumble during searing or simmering
Cause: The meat mixture was not worked sufficiently to extract bind-forming myosin proteins, or grated onion retained too much water
Fix: Cannot be fixed into intact spheres; continue simmering the mixture into a rich spiced lamb ragu and serve over grain bowls
Prevention: Squeeze all moisture from the grated onion using a kitchen towel, and vigorously knead the seasoned meat mixture until tacky before shaping
Coconut sauce splits into a greasy, curdled surface layer
Cause: The sauce boiled rapidly at excessive heat instead of gently simmering, breaking the coconut fat emulsion
Fix: Remove meatballs to a clean plate with tongs, remove skillet from heat, add 30 ml warm stock or water, and whisk vigorously until smooth before returning meatballs
Prevention: Maintain low heat once coconut milk is added, keeping the pan at a gentle bubble rather than a rolling boil
Meatballs are tough and dry inside
Cause: Meatballs were simmered beyond the safe 71°C (160°F) internal ground meat target
Fix: Cannot be reversed; bathe the meatballs generously in the creamy sauce to restore perceived juiciness
Prevention: Check the internal temperature at the 10-minute simmer mark using a digital instant-read thermometer and pull from heat as soon as it reaches 71°C (160°F)
Cultural Context
This dish blends North African culinary traditions with coastal East African and Indian Ocean spice routes. While fiery harissa-spiced lamb meatballs draw heavily on Maghrebi kefta traditions, simmering them in a spiced coconut milk base reflects coastal Swahili influences where chilis, warm spices, and tropical coconut converge. The result is a vibrant cross-cultural main course balancing bold chili heat with soothing coconut cream.










