Moroccan kofte and sausage stew
⏲ ~28 min total · prep 18 · cook 10 · 4 servings
Lunch⏱ 45 min total🔥 6.0g net carbs
By the KFI Test Kitchen · Tested & approved by Jason Lieu, KFI recipe editor
Published Sep 15, 2026 · Updated Sep 15, 2026
Ingredients
- 1 lb ground lamb
- 8 oz merguez sausage, sliced 1/2 inch thick
- 1/4 cup almond flour
- 1 small yellow onion, divided (half grated, half diced)
- 3 cloves garlic, minced
- 2 tsp ground cumin
- 1 tbsp harissa paste
- 1 (28-oz) can crushed tomatoes
- 1/2 cup pitted green olives, halved
- 2 cups baby spinach
- 2 tbsp olive oil
- 1/4 cup chopped fresh cilantro
Instructions
- Mix the lamb, almond flour, grated onion, 1 tsp cumin, half the garlic, 1 tsp harissa, and 1 tsp salt; roll into 16 meatballs, about 1 1/2 inches across, and chill 10 minutes so they hold together.
- Heat the olive oil in a 5-quart Dutch oven over medium-high; brown the meatballs 4-5 minutes, turning so all sides color, but leave them underdone in the center; set aside.
- Cook the merguez in the same pot 3 minutes until its red fat renders out, then add the diced onion and cook 3-4 minutes until translucent; stir in the remaining garlic for the last 30 seconds.
- Bloom the remaining 1 tsp cumin and 2 tsp harissa in the fat for 30 seconds, pour in the crushed tomatoes, and scrape the browned bits off the bottom of the pot.
- Nestle the meatballs back into the sauce, cover, and simmer over medium-low 15 minutes, until the meatballs read 160°F inside.
- Stir in the olives and spinach and cook 1-2 minutes, just until the spinach wilts; finish with cilantro and serve straight from the pot.
Why this recipe works
- Merguez does two jobs Merguez sausage works here before you ever taste it whole. Its rendered red fat becomes the cooking base for the onions and spices, and its heat seasons a sauce that otherwise starts from plain tomatoes.
- Almond flour in the mix It binds the meatballs without breadcrumbs and keeps them tender through the long simmer. Sixteen meatballs hold together from browning to sauce.
- Harissa in two stages Half goes into the meat, half blooms in the hot fat with the cumin. The first seasons from inside, the second perfumes the whole pot.
Tips for making this recipe well
Chill before browning
Ten minutes in the fridge firms the meatballs so they keep their shape in the pan. Skip it and the edges slough off into the oil.
Underdone is correct
Pull the meatballs from the sear while the centers are still short of done. Fifteen minutes in the simmering sauce finishes them to 160°F without drying the outside.
Scrape when the tomatoes go in
The browned bits from the merguez and lamb are flavor. Crushed tomatoes give you the liquid to lift them loose, so pour and scrape in the same motion.
Spinach at the very end
One to two minutes is enough for it to wilt. Added earlier, it goes dark and slack, with nothing left to give the bowl.
Taste before the cilantro
Olives and harissa both carry salt, and the sauce concentrates as it simmers. Check it after the fifteen minutes, since it can move past pleasantly seasoned.
Serving suggestions
Serve it straight from the Dutch oven with the cilantro scattered over at the last second. The pot lands at 6 net carbs per serving, and the forty-five minutes covers the chill, the browning, and the simmer, so nothing runs long. A bowl like this usually wants bread alongside, and a keto table does fine without it; the olives and spinach give every spoonful enough to do. A spoon beats a fork here.
Storage and meal prep
The stew keeps 3 to 4 days covered in the fridge, and the meatballs actually hold their shape better on day two. It freezes for 2 to 3 months; thaw it overnight and warm it slowly over low heat so the sauce does not scorch at the bottom of the pot. The spinach goes very soft after either rest. If that bothers you, hold it back when you first cook the stew and stir a fresh handful into each reheated portion.
Variations worth trying
- Milder pot Cut the harissa to a single teaspoon and skip the second bloom. You lose some perfume but keep the dish friendly to cautious eaters.
- Beef instead of lamb Ground beef browns the same way and binds with the almond flour the same. The stew reads a little less gamey and a little more familiar.
- More olives Go to a full cup if you like brine. The sauce picks up a salinity that plays well against the harissa.
- Lamb only Skip the merguez and add another tablespoon of olive oil for the onions. You give up the red fat and the heat, so add a pinch more cumin.
Frequently asked questions
How spicy is this stew?
Moderately. Two teaspoons of harissa across the pot builds a warm, persistent heat, and the merguez adds its own. Use one teaspoon if you are feeding people who flinch.
Can I shape the meatballs ahead?
Yes. The mix holds overnight in the fridge, covered, and chilled meatballs brown even more cleanly. Add a minute or two to the sear if they go into the pan cold.
What if I cannot find merguez?
Any fresh, spiced sausage stands in, though you lose some of the signature red fat. Brown whatever you use until it renders, then carry on with the onions.
Can I freeze the leftovers?
For 2 to 3 months, yes. The sauce and meatballs freeze well; thaw overnight in the fridge and reheat gently. Stir in fresh spinach when you warm it if texture matters to you.
Why did my meatballs fall apart?
Usually the chill was skipped or the simmer was too hard. Ten minutes in the fridge firms the fat, and a bare bubble keeps them intact. A rolling boil will break them up.
Related keto recipes
As an Amazon Associate and affiliate partner, Keto Food Ideas earns from qualifying purchases at no additional cost to you. Nutritional values are estimates. Recipes are developed with AI assistance and reviewed by our editors before publishing.
← More Lunch recipes · Home