In a large pot, heat the olive oil over medium heat. Add the finely chopped onion and sauté until soft and translucent. Add the minced garlic and cook for another minute.
Add the lamb or beef cubes to the pot and cook until browned on all sides.
Stir in the chopped tomatoes, ground turmeric, ground cumin, ground coriander, ground cinnamon, ground ginger, ground black pepper, saffron threads (if using), and salt. Cook for about 5 minutes, allowing the tomatoes to soften and the spices to become fragrant.
Add the rinsed lentils, chickpeas, and soaked fava beans to the pot. Pour in the water or beef broth and bring to a boil. Reduce the heat and let it simmer for about 45 minutes, or until the lentils and beans are tender.
In a small bowl, mix the flour with a little water to make a smooth paste. Stir the paste into the soup to thicken it slightly.
Stir in the vermicelli or broken spaghetti, chopped cilantro, and parsley. Cook for another 10-15 minutes, or until the pasta is tender.
Stir in the tomato paste and lemon juice. Adjust the seasoning with salt and pepper to taste. Simmer for an additional 5 minutes.
Ladle the harira into bowls and garnish with fresh lemon wedges and chopped cilantro. Serve hot with crusty bread.
Enjoy your meal!