This Moroccan beef and lentil soup is a satisfying one pot meal full of ground beef, tender lentils, carrots, celery, zucchini, and green beans simmered in a warmly spiced tomato broth.
A store bought Moroccan spice mix, plus cumin, paprika, and a little allspice, gives the soup a deep, fragrant flavor. A spoonful of cool yogurt and a sprinkle of cilantro on top balance the warmth.
Table of Contents
Why This Moroccan Beef and Lentil Soup Recipe Works
Browning the beef with the onion and garlic before adding liquid builds a savory base, and stirring in the spices while the meat is still hot wakes up their flavor.
Lentils cook right in the soup with no soaking, and they thicken it naturally as they soften. That makes the soup filling and high in fiber without any cream or flour.
Adding the zucchini and green beans late keeps them bright and slightly firm instead of mushy.
Ingredients for Moroccan Beef and Lentil Soup
- 2 1/2 tbsp Moroccan spice mix (store bought)
- 1 tsp allspice
- 2 tsp ground cumin
- 2 tsp paprika
- 3/4 tsp black pepper
- 1/4 tsp kosher salt
- 1 tbsp olive oil
- 2 cloves garlic, finely chopped
- 1 medium yellow onion, finely chopped
- 1 lb lean ground beef
- 1 1/4 cups dried brown or green lentils, rinsed
- 2 medium carrots, cut into 1/2 inch dice
- 2 stalks celery, chopped into 1/2 inch pieces
- 2 medium zucchini, cut into 1/2 inch dice
- 3 1/2 oz green beans, trimmed and cut into 1/2 inch pieces
- 28 oz crushed tomatoes (1 can)
- 4 cups low sodium beef broth
- 3 cups water
- 1/2 cup plain Greek yogurt, for serving
- 1/4 cup chopped fresh cilantro or sliced green onions, for serving
Moroccan spice mix. Look for a blend with cinnamon, coriander, and ginger such as ras el hanout. Each brand differs in salt, so taste before adding extra.
Ground beef. Lean beef keeps the soup from getting greasy. Cook it over high heat and break it into small crumbles.
Dried lentils. Brown or green lentils hold their shape better than red lentils. Rinse them and pick out any stones before adding.
Carrots, celery, and zucchini. Cut them into 1/2 inch pieces so they cook at the same pace and fit on a spoon.
Crushed tomatoes and broth. Together they make a tangy, savory base. Low sodium broth lets you control the salt.
How to Make Moroccan Beef and Lentil Soup
1. Mix the spices. Combine the Moroccan spice mix, allspice, cumin, paprika, pepper, and salt in a small bowl.
2. Soften the aromatics. Heat the olive oil in a large pot over medium high heat and cook the onion and garlic for 3 minutes until golden at the edges.
3. Brown the beef. Turn the heat to high, add the beef, and cook for 5 to 6 minutes, breaking it up, until no pink remains and it reaches 160 degrees F. Stir in 2 tablespoons of the spice mix and cook for 2 minutes until fragrant.
4. Add the first vegetables. Stir in the carrots and celery and cook for 1 minute.
5. Simmer the soup. Add the water, broth, tomatoes, lentils, and the rest of the spice mix. Bring to a simmer, cover, reduce the heat to medium low, and cook for 25 to 30 minutes until the lentils are soft.
6. Add the zucchini and beans. Stir in the zucchini and green beans and simmer for 10 minutes more, until the lentils are fully tender.
7. Season and serve. Taste and add salt only if needed, then ladle into bowls and top with yogurt and cilantro.
How to Serve Moroccan Beef and Lentil Soup
Ladle the soup into wide bowls and finish each one with a dollop of yogurt and a pinch of cilantro. A basket of fluffy homemade dinner rolls is ideal for dunking, and a bowl of Italian house salad adds a crisp contrast. For a bigger spread, serve it with Moroccan lamb meatballs and a side of Greek lemon potatoes.
How to Store and Reheat Moroccan Beef and Lentil Soup
Cool the soup for no more than 2 hours, then refrigerate it in airtight containers for 3 to 4 days. The lentils absorb liquid as the soup sits, so add a splash of water or broth when reheating. Freeze for up to 3 months, thaw in the refrigerator overnight, and reheat on the stove until it reaches 165 degrees F.
Tips and Variations for Moroccan Beef and Lentil Soup
Rinse the lentils. A quick rinse removes dust, and sorting helps you spot any small stones.
Watch the salt. Spice mixes and canned tomatoes can be salty, so wait until the end to season.
Make it thicker. Blend 2 cups of the soup and stir it back in for a creamier body.
Make it spicier. Add a pinch of cayenne or red pepper flakes with the spices.
Swap the vegetables. Spinach, bell pepper, or diced potatoes can replace the zucchini and green beans.
Go meatless. Skip the beef and use vegetable broth. Add a can of chickpeas for body.
Batch cook. This soup doubles well, and the flavor deepens overnight.
Cool soup quickly. Divide hot soup into shallow containers so it cools fast. The University of Nebraska guide to serving soup safely explains safe cooling and serving.
Frequently Asked Questions About Moroccan Beef and Lentil Soup
Can I freeze moroccan beef and lentil soup?
Yes. Freeze it in airtight containers for up to 3 months and reheat on the stove with a splash of water.
Do I need to soak the lentils for moroccan beef and lentil soup?
No. Brown or green lentils cook in about 30 to 35 minutes without soaking.
What can I use instead of a store bought spice mix in moroccan beef and lentil soup?
Use 1 tablespoon each of cumin, coriander, and paprika plus 1/2 teaspoon of cinnamon and a pinch of ginger.
Can I use canned lentils?
Yes. Use 2 cans, drained, and add them with the zucchini for the last 10 minutes.
Why is my soup thick?
Lentils absorb liquid, so thin the soup with a little water or broth when reheating.
Moroccan Beef and Lentil Soup with Vegetables
Equipment
- Large pot with lid
- Wooden spoon
- Cutting board
- Ladle
Ingredients
Main Ingredients
- 2 ½ tbsp Moroccan spice mix store bought
- 1 tsp allspice
- 2 tsp ground cumin
- 2 tsp paprika
- ¾ tsp black pepper
- ¼ tsp kosher salt
- 1 tbsp olive oil
- 2 cloves garlic finely chopped
- 1 medium yellow onion finely chopped
- 1 lb lean ground beef
- 1 ¼ cup dried brown or green lentils rinsed
- 2 medium carrots cut into 1/2 inch dice
- 2 celery stalks chopped into 1/2 inch pieces
- 2 medium zucchini cut into 1/2 inch dice
- 3 ½ oz green beans trimmed and cut into 1/2 inch pieces
- 28 oz crushed tomatoes 1 can
- 4 cup low sodium beef broth
- 3 cup water
- ½ cup plain Greek yogurt for serving
- ¼ cup chopped fresh cilantro or sliced green onions, for serving
Instructions
Cooking
- Brown the base. Cook the onion and garlic in the olive oil for 3 minutes, then add the beef and cook until no pink remains and it reaches 160 degrees F. Stir in 2 tablespoons of the combined spices for 2 minutes.
- Add the vegetables. Stir in the carrots and celery for 1 minute.
- Simmer. Pour in the water, broth, tomatoes, lentils, and remaining spices, bring to a simmer, cover, and cook on medium low for 25 to 30 minutes until the lentils soften.
- Finish. Add the zucchini and green beans and simmer for 10 minutes more until all of the lentils are tender.
- Serve. Taste for salt and ladle into bowls with yogurt and cilantro.









