This comforting Moroccan-inspired soup brings together tender, oven-baked mini meatballs seasoned with cumin, cinnamon, and paprika alongside a vibrant mix of diced carrots, celery, and bell peppers.
The broth, built from a base of aromatic spices, chopped tomatoes, and chicken or vegetable stock, is enriched with fluffy couscous that soaks up every layer of flavor.
Finished with a bright squeeze of lemon juice and fresh herbs, it's a complete meal in a bowl that's perfect for cozy dinners and ready in under an hour.
The smell of cumin and cinnamon toasting in olive oil has a way of pulling people into the kitchen before you even call them for dinner. I threw this soup together on a rain-soaked Tuesday when the fridge offered nothing but a handful of vegetables and some ground beef. My roommate walked in, leaned against the counter, and declared it the best thing I had ever made before she even tasted it. That night this Moroccan inspired soup became a permanent fixture in my winter rotation.
I made a double batch of this for a friends potluck last February and watched three people ask for the recipe before they finished their bowls. There is something about those miniature meatballs bobbing in golden broth that makes everyone smile like a kid.
Ingredients
- Ground beef or lamb (300 g): Beef keeps it lighter but lamb adds a richness that sings with the warm spices.
- Small onion, finely grated (for meatballs): Grating rather than chopping keeps the meatballs tender and helps them hold moisture inside.
- Garlic cloves, minced (2 for meatballs, 3 for soup): Fresh garlic is non negotiable here because the powdered version gets lost among the bold spices.
- Fresh parsley and cilantro: Both herbs appear in the meatballs and again as garnish so grab generous bunches.
- Ground cumin (1 tsp for meatballs, 1.5 tsp for soup): This is the backbone spice of the entire dish so make sure your jar is fragrant and not dusty.
- Ground cinnamon (half tsp): Just a touch in the meatballs creates that unmistakable Moroccan warmth.
- Paprika and smoked paprika: Regular paprika goes in the meatballs while the smoked version deepens the soup base beautifully.
- Ground coriander (quarter tsp): A quiet supporting player that rounds out the spice blend.
- Salt and black pepper: Season the meatballs generously and adjust the soup at the end.
- Olive oil (2 tbsp): Use a good quality one since it forms the flavor foundation of the broth.
- Medium onion, diced (for soup): Dice it small so every spoonful carries a bit of sweetness.
- Carrots (2, diced): They add natural sweetness and a lovely pop of orange color.
- Celery stalks (2, diced): Celery builds the aromatic base alongside the onion and carrot.
- Red bell pepper (1, chopped): Its slight sweetness balances the earthy spices.
- Turmeric (half tsp): Gives the broth its golden hue and a subtle earthy note.
- Cayenne pepper (quarter tsp, optional): Add it if you enjoy a gentle background heat.
- Chicken or vegetable broth (1.5 L): Homemade broth is wonderful but a good quality boxed version works perfectly.
- Chopped tomatoes (1 can, 400 g): They provide acidity and body to the soup base.
- Couscous (100 g): It cooks directly in the broth which makes it absorb all those incredible flavors.
- Lemon juice (from half a lemon): A squeeze at the end brightens the entire pot.
Instructions
- Prepare your oven and tray:
- Preheat the oven to 200 degrees Celsius (390 degrees Fahrenheit) and line a baking tray with parchment paper so the meatballs lift off easily.
- Shape the mini meatballs:
- Combine all meatball ingredients in a large bowl mixing with your hands just until combined. Roll into small balls about 2 cm wide and arrange them on the tray with a little space between each one.
- Bake until golden:
- Slide the tray into the oven for 12 to 15 minutes until the meatballs are cooked through and lightly browned on the edges. Set them aside while you build the soup.
- Build the soup base:
- Heat olive oil in a large pot over medium heat and add the diced onion, carrots, celery, and red bell pepper. Cook for 5 to 7 minutes stirring occasionally until the vegetables soften and the onions turn translucent.
- Bloom the spices:
- Stir in the garlic, cumin, smoked paprika, turmeric, and cayenne. Let everything sizzle together for about a minute until your kitchen smells absolutely incredible.
- Simmer the broth:
- Pour in the broth and chopped tomatoes then bring everything to a boil. Reduce the heat, cover the pot, and let it simmer gently for 10 minutes so the flavors meld together.
- Add couscous and meatballs:
- Stir in the couscous and baked meatballs then simmer uncovered for 5 to 7 minutes. The couscous will swell and the broth will thicken slightly into a hearty texture.
- Finish and serve:
- Remove from heat and stir in the lemon juice. Taste and add salt and pepper as needed then ladle into bowls and scatter fresh cilantro or parsley on top.
Soup has a quiet way of turning an ordinary evening into something worth remembering. I still think about that rainy Tuesday and the way the steam fogged up the kitchen window while we ate.
Serving Suggestions
Warm flatbread torn into pieces makes the perfect vehicle for soaking up every last bit of spiced broth. A dollop of yogurt on top adds a cool creaminess that contrasts beautifully with the warm spices.
Storing and Reheating
This soup keeps well in the refrigerator for up to three days though the couscous will swell considerably overnight. I actually prefer it on day two when the flavors have had time to deepen and marry together.
Making It Your Own
The beauty of this recipe is how easily it adapts to what you have on hand. A few small changes can shift the entire personality of the soup.
- Swap ground lamb for the beef if you want a richer and slightly gamier flavor profile.
- Use cooked rice instead of couscous to make it gluten free without losing any heartiness.
- Double the cayenne or add a pinch of harissa paste when you want something bolder and more warming.
Let this soup become yours and do not be afraid to tweak the spices until they sing to your palate. A pot of something warm and fragrant is the best kind of kitchen magic.
Recipe FAQs
- → Can I use lamb instead of beef for the meatballs?
-
Yes, ground lamb works beautifully and adds a richer, more authentic Moroccan flavor to the meatballs. You can also use a mix of half beef and half lamb for a balanced result.
- → How do I store leftovers?
-
Let the soup cool completely, then transfer it to an airtight container and refrigerate for up to 3 days. Reheat gently on the stovetop over medium heat. The couscous will absorb more liquid as it sits, so add a splash of broth when reheating.
- → Can I make this soup gluten-free?
-
Absolutely. Swap the regular couscous for gluten-free couscous or cooked rice. Also make sure your broth is certified gluten-free, as some brands contain hidden gluten.
- → What spices give this soup its Moroccan flavor?
-
The combination of ground cumin, cinnamon, smoked paprika, turmeric, and coriander creates the warm, aromatic profile typical of Moroccan cuisine. Cayenne pepper adds an optional kick of heat.
- → Can I freeze this soup?
-
You can freeze it, but the couscous texture may change after thawing. For best results, freeze the soup without the couscous and add fresh couscous when reheating. Store in a freezer-safe container for up to 2 months.
- → What should I serve with this soup?
-
Warm flatbread or pita is a natural pairing. A simple side salad with a lemon vinaigrette also complements the flavors well. For a heartier meal, consider a dollop of yogurt on top.