Cuire les lentilles dans de l'eau salée, égoutter et exprimer dessus le jus d'un citron. Réserver.
Mettre les autres ingrédients à cuire à couvert dans une casserole, laisser mijoter à petit feu, après ébullition, retirer les oignons dès qu'ils sont cuits afin qu'ils restent entiers.
Après une heure environ, vérifier si la viande est cuite et retirer du feu, verser alors les lentilles et les oignons dans cet appareil.
Mettre l'eau à bouillir avec les tomates moulues ou le concentré de tomates avec l'eau, ajouter une noix de beurre. Laisser bouillir pendant un quart d'heure, et ajouter le jus du bouillon en laissant au fond de la casserole viande, lentilles, oignons, etc.
Verser petit à petit dans ce mélange hors du feu, la farine délayée dans 1 litre d'eau en remuant rapidement pour ne pas former de grumeaux. Remettre alors sur le feu et continuer à remuer doucement jusqu'à ébullition.
Ajouter le persil haché très fin et la coriandre, rincer et piler au mortier (mehraz) avec la quantité de sel nécessaire à l'assaisonnement.
Verser ce coulis additionné d'un litre d'eau dans la marmite tout en remuant (on peut tout aussi bien les passer au «mixer» additionné d'eau). Vérifier l'assaisonnement et retirer du feu quand la soupe est bien chaude.
La harira doit être veloutée et non épaisse.
On peut remplacer la viande par les abats de trois ou quatre poulets.