This Moroccan-inspired soup combines tender, oven-baked mini meatballs seasoned with cumin, cinnamon, and paprika with a rich tomato-based broth loaded with diced carrots, celery, and bell pepper.
Fluffy couscous is simmered directly in the spiced liquid, thickening it beautifully while absorbing layers of smoky paprika and turmeric. A bright squeeze of lemon and fresh cilantro finish each bowl.
Ready in under an hour, it serves four and makes a satisfying weeknight dinner that tastes like it simmered all day.
The rain was hammering against the kitchen window and I had a pound of ground beef staring at me from the fridge, daring me to do something interesting with it. Moroccan cuisine had been on my mind since a friend brought back a tin of ras el hanout from Marrakech, though this soup relies on simpler spices you probably already have. The cinnamon in the meatballs is the quiet hero here, curling through the broth in a way that makes everyone ask what that smell is.
I made this for my neighbor Sarah the week she had her second baby, packing it into a mason jar with a sticky note that said just heat and stare into the middle distance. She texted me at midnight saying she drank the whole thing cold straight from the fridge and it was still the best thing she had eaten all week.
Ingredients
- Ground beef or lamb (300 g): Lamb gives a richer, gamier depth but beef is easier to find and works beautifully, especially if you choose a blend with some fat content.
- Onion (1 small, grated for meatballs plus 1 medium diced for soup): Grating the onion for meatballs keeps them incredibly moist, a trick I learned after years of dry, crumbly attempts.
- Garlic (5 cloves total): Yes, five, and I have never once regretted it.
- Fresh parsley and cilantro: Use both in the meatballs if you can, but parsley alone will not ruin anything.
- Ground cumin (2.5 tsp total): This is the backbone spice of the entire dish, so make sure yours has not been sitting in the cupboard for three years.
- Ground cinnamon (0.5 tsp): Trust me on this one, it transforms the meatballs from ordinary to something people will try to guess.
- Paprika and smoked paprika: Regular paprika goes in the meatballs for color, smoked paprika in the soup for that campfire warmth.
- Ground coriander (0.25 tsp): A quiet but important team player in the meatball blend.
- Salt and black pepper: Season the meatballs generously, then adjust the soup at the end.
- Olive oil (2 tbsp): Just enough to get the vegetables going without making the soup greasy.
- Carrots (2, diced): They bring sweetness and a lovely texture contrast against the soft couscous.
- Celery stalks (2, diced): Essential aromatic base, do not skip these even if you are not a celery fan.
- Red bell pepper (1, chopped): Adds color and a subtle sweetness that balances the warm spices.
- Turmeric (0.5 tsp): Mostly for the golden color it gives the broth, though its earthy flavor matters too.
- Cayenne pepper (0.25 tsp, optional): Start with a pinch and taste before adding more, you can always add heat but you cannot take it away.
- Chicken or vegetable broth (1.5 L): Homemade is wonderful but a good quality boxed broth works perfectly here.
- Chopped tomatoes (1 can, 400 g): They provide acidity and body to the broth.
- Couscous (100 g): Dumped straight in raw, it cooks in minutes and releases starch that naturally thickens everything.
- Lemon juice (from half a lemon): Stirred in at the very end, it brightens the whole pot and makes the spices sing.
- Fresh cilantro or parsley for garnish: A handful on top makes it look like you tried harder than you did.
Instructions
- Fire up the oven:
- Preheat to 200 degrees Celsius and line a baking tray with parchment paper so the meatballs release without sticking.
- Build the meatballs:
- Combine the ground meat, grated onion, garlic, parsley, cilantro, cumin, cinnamon, paprika, coriander, salt, and pepper in a bowl. Mix with your hands until everything is evenly distributed, then roll into small balls about 2 cm across and arrange them on the tray.
- 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 bottoms, then set them aside while you build the soup.
- Start the soup base:
- Heat olive oil in a large pot over medium heat, then add the diced onion, carrots, celery, and red bell pepper, cooking for 5 to 7 minutes until everything softens and the onion turns translucent.
- Bloom the spices:
- Stir in the garlic, cumin, smoked paprika, turmeric, and cayenne if using, and let them cook for about a minute until your kitchen smells like a spice market.
- Build the broth:
- Pour in the broth and the canned tomatoes, bring everything to a boil, then reduce the heat, cover the pot, and let it simmer for 10 minutes so the vegetables become tender.
- Bring it all together:
- Add the couscous and the baked meatballs to the pot, season with salt and pepper, and simmer uncovered for 5 to 7 minutes until the couscous is fluffy and the soup has thickened slightly.
- Finish with brightness:
- Remove from heat, stir in the lemon juice, taste and adjust the salt, then ladle into bowls and scatter fresh herbs on top.
There is something about ladling this soup into bowls on a grey Tuesday that turns the evening into an event without any effort at all.
What to Serve Alongside
Warm flatbread torn into ragged pieces is the obvious choice, perfect for dragging through the broth and catching bits of meatball and couscous. A simple cucumber and tomato salad with a lemon vinaigrette cuts through the richness if you want to round out the meal.
Making It Your Own
Lamb changes the character entirely, pushing it deeper into North African territory with a richer, more pronounced flavor. You could also tuck in a handful of spinach or chopped kale during the last few minutes of cooking if you want to sneak in some greens without it feeling like a health lecture.
Storing and Reheating
This soup keeps beautifully in the fridge for up to three days, though the couscous will swell and it becomes more of a stew, which is honestly not a bad thing. The flavors actually deepen overnight as the spices continue to meld.
- Reheat gently on the stove with a splash of extra broth to loosen it back up.
- Freeze the soup without the couscous for the best texture later on.
- Taste for salt after reheating because the couscous soaks up seasoning as it sits.
Some recipes become staples because they are easy, and some earn their spot because they make people close their eyes when they take the first bite. This one does both, and that is a rare and beautiful thing.
Recipe FAQ
- → Can I use lamb instead of beef for the meatballs?
-
Yes, ground lamb works beautifully and adds a richer, more authentic Moroccan flavor. You can also use a 50/50 mix of beef and lamb for balanced taste.
- → How do I store and reheat leftover soup?
-
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 ahead of time?
-
Absolutely. Prepare the soup base and meatballs separately up to a day ahead. Add the couscous when reheating so it maintains the right texture and doesn't become mushy.
- → Is there a gluten-free alternative to couscous?
-
You can substitute couscous with cooked rice, quinoa, or gluten-free couscous. Add cooked grains at the end rather than simmering them, and adjust the broth quantity accordingly.
- → What sides pair well with this soup?
-
Warm flatbread or pita is ideal for dipping. A simple side salad with lemon vinaigrette or a dollop of yogurt on top also complements the spiced broth wonderfully.
- → How spicy is this soup?
-
The base warmth comes from cumin, paprika, and turmeric, making it mildly spiced. The cayenne is optional, so you can control the heat level to your preference.