This Moroccan-inspired soup combines tender, oven-baked mini meatballs seasoned with cumin, cinnamon, and paprika with fluffy couscous and a colorful mix of vegetables.
The fragrant broth, built on a base of sautéed onions, carrots, celery, and bell pepper, gets its depth from warm Moroccan spices and chopped tomatoes.
Ready in about 55 minutes, it's a satisfying one-pot meal perfect for chilly evenings. A squeeze of fresh lemon juice and a sprinkle of herbs brighten every bowl.
The smell hit me before I even opened the pot lid: cumin, cinnamon, something smoky curling up through the steam. I had wandered into a tiny Marrakech side street kitchen on a rainy Tuesday, and the woman stirring that enormous pot never once looked up at me. She just pointed at a stool and handed me a bowl, and that single gesture taught me more about hospitality than any cookbook ever could.
I made this for my neighbor Sarah the night her furnace broke in January, and she sat at my kitchen table in her coat eating three bowls without saying a word. The only sound was her spoon hitting ceramic and the wind rattling the window.
Ingredients
- 300 g ground beef or lamb: Lamb gives you a deeper, gamier richness but beef keeps it familiar and weeknight friendly.
- 1 small onion, finely grated: Grating instead of chopping keeps the meatballs tender and holds moisture inside.
- 2 garlic cloves, minced: Fresh only, the jarred stuff loses too much bite in a soup that relies on layered aromatics.
- 2 tbsp chopped fresh parsley and 1 tbsp chopped fresh cilantro: Both herbs matter here, the parsley brings grassy freshness while cilantro adds that unmistakable North African lift.
- 1 tsp ground cumin, 1/2 tsp ground cinnamon, 1/2 tsp paprika, 1/4 tsp ground coriander: This warm spice blend is the soul of the meatballs, and the cinnamon is not optional even if it sounds strange.
- 2 tbsp olive oil: A good fruity olive oil makes the sofrito sing before any liquid touches the pot.
- 1 medium onion, 2 carrots, 2 celery stalks, 1 red bell pepper, all diced: The dice should be small and uniform so every spoonful delivers a bit of everything.
- 3 garlic cloves, minced (for soup base): Yes, more garlic, and yes, it is necessary for building depth in the broth.
- 1.5 tsp ground cumin, 1 tsp smoked paprika, 1/2 tsp turmeric, 1/4 tsp cayenne pepper: Smoked paprika is the quiet hero here, adding a campfire warmth that regular paprika cannot match.
- 1.5 L chicken or vegetable broth: Homemade is ideal but a good quality boxed broth works beautifully.
- 1 can (400 g) chopped tomatoes: They provide gentle acidity that balances the warm spices.
- 100 g couscous: It cooks directly in the broth and thickens everything into a cozy, stew like texture.
- Juice of 1/2 lemon and fresh cilantro or parsley for garnish: The lemon juice goes in at the very end, and it brightens the whole pot like flipping a light switch.
Instructions
- Build the Meatballs:
- Combine the ground meat with grated onion, garlic, parsley, cilantro, cumin, cinnamon, paprika, coriander, salt, and pepper in a large bowl. Roll into 2 cm balls with damp hands so the mixture does not stick to your palms.
- Bake Until Golden:
- Arrange the meatballs on a parchment lined tray and bake at 200 degrees C for 12 to 15 minutes until they are lightly browned and cooked through. The edges should have a slight crust that will hold up in the soup.
- Start the Sofrito:
- Heat olive oil in a large pot over medium heat and sauté the diced onion, carrots, celery, and bell pepper for 5 to 7 minutes until everything softens and smells sweet. Stir occasionally so nothing catches on the bottom.
- Wake Up the Spices:
- Add the garlic, cumin, smoked paprika, turmeric, and cayenne, stirring constantly for about a minute until the fragrance blooms and your kitchen smells like a spice market.
- Build the Broth:
- Pour in the broth and chopped tomatoes, bring everything to a boil, then lower the heat, cover, and let it simmer for 10 minutes so the flavors marry properly.
- Finish Together:
- Drop in the couscous and baked meatballs, season with salt and pepper, and simmer uncovered for 5 to 7 minutes until the couscous is tender and the soup has thickened into something that feels like a warm blanket. Stir in the lemon juice right before serving and top with fresh herbs.
That night with Sarah turned into a standing Tuesday dinner tradition that lasted the whole winter.
What to Serve Alongside
Warm flatbread is the obvious choice, torn and used to scoop up meatballs and broth. A simple cucumber and tomato salad with a vinaigrette cuts through the richness beautifully if you want something fresh on the table.
Making It Your Own
Swap the couscous for cooked rice if you need a gluten free version, though the texture shifts from pillowy to more substantial. Lamb changes the entire personality of the meatballs into something richer and more intensely flavored, which I recommend trying at least once.
Leftovers and Reheating
This soup is arguably better the next day when the spices have had time to settle and deepen overnight.
- Store in an airtight container in the refrigerator for up to three days.
- Reheat gently on the stove with a splash of water or broth to loosen it up.
- Freeze portions without the couscous for best results, then add fresh couscous when you reheat.
Some recipes feed people, and this one gathers them. Make a pot, pull up extra chairs, and let the spices do the rest.
Recipe FAQs
- → Can I use lamb instead of beef for the meatballs?
-
Yes, lamb works beautifully and adds a richer, more authentic Moroccan flavor. You can also use a mix of beef and lamb for balanced taste and texture.
- → How do I store and reheat leftovers?
-
Store cooled soup in an airtight container in the refrigerator for up to 3 days. Reheat gently on the stovetop over medium heat, adding a splash of broth if the couscous has absorbed too much liquid.
- → Can I make this soup gluten-free?
-
Absolutely. Swap the couscous for gluten-free couscous or cooked rice. Also check that your broth is certified gluten-free, as some brands contain traces of gluten.
- → What level of spiciness should I expect?
-
The soup is mildly spiced with warm aromatics like cumin, turmeric, and paprika. The cayenne pepper is optional, so you can adjust the heat to your preference by adding more or leaving it out entirely.
- → Can I freeze this soup?
-
Yes, it freezes well for up to 2 months. For best results, freeze without the couscous and add fresh couscous when reheating, as it can become overly soft after freezing and thawing.
- → What should I serve alongside this soup?
-
Warm flatbread or pita is a natural pairing. A simple side salad with a lemon vinaigrette also complements the warm Moroccan spices nicely.