This Moroccan-inspired soup combines tender, warmly spiced mini meatballs with fluffy couscous and a colorful mix of vegetables in a richly aromatic broth. The meatballs are baked until golden, then simmered alongside carrots, celery, and bell pepper with cumin, paprika, and turmeric.
Ready in about 55 minutes, it serves four and makes a satisfying main dish for chilly evenings. A squeeze of lemon and fresh herbs brighten every bowl.
The smell of cumin toasting in a dry pan has a way of pulling me straight into a tiny kitchen in Marrakech, even though that kitchen belonged to an Airbnb host who barely spoke English and I barely spoke Arabic, yet somehow we communicated entirely through gestures and laughter over a pot of soup much like this one. That trip taught me that Moroccan cooking is less about precision and more about layering warmth into every step. This mini meatball couscous soup captures that spirit in under an hour. It is the kind of dish that makes your kitchen smell like somewhere far away and wonderful.
A rainy Tuesday in January was when I first tested this recipe at home, still wearing my coat, too impatient to wait for the apartment to warm up before cooking something that would do the warming for me. My roommate walked in halfway through and stood over the pot without saying a word, just breathing in the steam. We ate it sitting on the kitchen floor because the table was covered in mail. Neither of us moved to clear it off.
Ingredients
- 300 g ground beef or lamb: Lamb gives a deeper, richer flavor but beef is easier to find and still delicious, so go with whatever your butcher has fresh.
- 1 small onion, finely grated: Grating rather than chopping keeps the meatballs tender and helps the moisture distribute evenly through the mixture.
- 2 garlic cloves, minced (meatballs): Fresh garlic only here, the pre-minced jarred stuff loses its punch and your meatballs deserve better.
- 2 tbsp chopped fresh parsley: Flat-leaf parsley adds a clean brightness that balances the warm spices.
- 1 tbsp chopped fresh cilantro: If you are one of those people who tastes soap with cilantro, just double the parsley and skip this entirely.
- 1 tsp ground cumin (meatballs): Toast it briefly in a dry skillet before adding to wake up the essential oils.
- 1/2 tsp ground cinnamon: This is the secret weapon, just enough to add warmth without making the meatballs taste like dessert.
- 1/2 tsp paprika: Regular paprika works, but smoked paprika adds a lovely campfire undertone if you have it.
- 1/4 tsp ground coriander: It brings a subtle citrus note that ties the sweeter spices to the savory meat.
- 1/2 tsp salt and 1/4 tsp black pepper: Season the meat mixture boldly because the broth will mellow everything out once the meatballs swim in it.
- 2 tbsp olive oil: A good quality oil makes a difference since it is the foundation of your entire soup base.
- 1 medium onion, diced (soup base): Dice it small so it melts into the broth rather than floating around in obvious chunks.
- 2 carrots, diced: Cut them slightly smaller than you think you need so they cook through in the simmer time.
- 2 celery stalks, diced: Celery is the quiet backbone of this broth, do not skip it even if you are tempted.
- 1 red bell pepper, chopped: The sweetness of red bell pepper pairs beautifully with the smoky spices.
- 3 garlic cloves, minced (soup base): Yes, more garlic, and yes, it is necessary for building layers of flavor.
- 1 1/2 tsp ground cumin and 1 tsp smoked paprika (soup base): Double down on these spices in the broth to echo what is happening inside the meatballs.
- 1/2 tsp turmeric: It gives the broth a gorgeous golden hue and a subtle earthiness.
- 1/4 tsp cayenne pepper: Optional but recommended, it raises the temperature just enough to make your nose tingle.
- 1.5 L chicken or vegetable broth: Homemade broth is ideal but a good quality store-bought box works perfectly on a weeknight.
- 1 can (400 g) chopped tomatoes: The acidity of the tomatoes balances the warm spices and adds body to the soup.
- 100 g couscous: Add it toward the end so it stays fluffy rather than turning to mush.
- Salt and pepper, to taste: Taste the broth before adding the couscous because the starch will absorb salt.
- Juice of 1/2 lemon: A squeeze of lemon at the end brightens everything and makes the flavors pop.
- Fresh cilantro or parsley for garnish: A generous handful on top makes the bowl look as good as it tastes.
Instructions
- Get the oven ready:
- Preheat your oven to 200 degrees Celsius (390 degrees Fahrenheit) and line a baking tray with parchment paper so the meatballs do not stick and cleanup takes five seconds.
- Shape the meatballs:
- In a large mixing bowl, combine the ground meat with the grated onion, garlic, parsley, cilantro, cumin, cinnamon, paprika, coriander, salt, and pepper, then mix with your hands until everything is evenly distributed. Roll into small balls about 2 cm across, which is roughly the size of a large olive, 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 outside, then 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, sauteing for 5 to 7 minutes until everything softens and the kitchen starts to smell incredible.
- Bloom the spices:
- Stir in the garlic, cumin, smoked paprika, turmeric, and cayenne, cooking for about a minute until the spices become fragrant and coat the vegetables in a golden paste.
- Simmer the broth:
- Pour in the broth and chopped tomatoes, bring everything to a boil, then reduce the heat, cover the pot, and let it simmer gently for 10 minutes so the flavors have time to marry properly.
- Add couscous and meatballs:
- Stir in the couscous and gently drop in the baked meatballs, then simmer uncovered for 5 to 7 minutes until the couscous is tender and the soup has thickened slightly into something that feels like a warm hug.
- Finish and serve:
- Remove from heat, stir in the lemon juice, taste and adjust the seasoning, then ladle into bowls and finish with a generous scattering of fresh herbs.
I once made a double batch of this soup for a friend who had just moved into a new apartment with nothing but a borrowed pot and a single bowl to her name. She called me three days later to say she had eaten the leftovers for breakfast, lunch, and dinner without getting tired of it once. That is when I knew this recipe was a keeper.
Making It Your Own
The beauty of a soup like this is how forgiving it is. I have thrown in leftover roasted sweet potato, swapped chickpeas for half the meatballs, and once used pearl couscous instead of regular because that was what the pantry offered. The spice blend is traditional but not rigid, so if you have ras el hanout hiding in your cupboard, a teaspoon of that in the broth will take things to another level entirely.
Serving Suggestions
Warm flatbread on the side is practically mandatory in my house, torn into pieces and used to scoop up the last bits of broth from the bowl. A dollop of yogurt on top adds a cool creaminess that contrasts nicely with the gentle heat of the soup. In summer I serve it with a simple cucumber and tomato salad on the side, and in winter I just add more bread and call it dinner.
Storage and Reheating
This soup keeps beautifully in the fridge for up to three days, though the couscous will continue to absorb liquid so you may need to add a splash of broth or water when reheating.
- Store the soup and meatballs together in an airtight container rather than separating them.
- Reheat gently on the stove over medium low heat rather than boiling vigorously to keep the meatballs intact.
- Freeze individual portions for up to two months but know the couscous texture will soften slightly upon thawing.
Some recipes earn a spot in your regular rotation through convenience, but this one earns it through the way it makes your whole home smell like a place you actually want to be. Ladle it up, tear off some bread, and let the evening take care of itself.
Common Recipe Questions
- → Can I use lamb instead of beef for the meatballs?
-
Yes, ground lamb works beautifully and adds a richer, more authentic Moroccan flavor. Use the same quantity and follow the same preparation method.
- → How do I store leftover soup?
-
Let the soup cool completely, then transfer to an airtight container and refrigerate for up to 3 days. Reheat gently on the stovetop, 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 white rice. Also check that your broth is certified gluten-free, as some brands contain traces of gluten.
- → What spices give this soup its Moroccan flavor?
-
The warm blend of ground cumin, cinnamon, paprika, turmeric, and a touch of cayenne creates the signature Moroccan aroma. Toasting the spices briefly in the pot before adding liquid intensifies their fragrance.
- → Can I freeze this soup?
-
You can freeze it, but keep in mind the couscous may become softer upon thawing. For best results, freeze the soup base without couscous and add fresh couscous when reheating. Store in the freezer for up to 2 months.