Heat olive oil in a large pot over medium-high heat. Add the chopped onions and cubed lamb and sauté until fully browned.
Add the finely chopped celery and sauté for 5-7 minutes until softened.
Add ground ginger, ground cumin, turmeric, and cinnamon to the pot. Cook, stirring constantly, for 1-2 minutes until fragrant.
Stir in high quality canned tomatoes, tomato puree, lentils, chickpeas, and meat or vegetable broth. Bring the soup to a boil, then reduce the heat to medium-low and simmer for an 2 hours, stirring occasionally.
Add the vermicelli noodles and continue to cook the soup for another 10-15 minutes until the lentils are tender, the vermicelli is cooked and the soup has thickened slightly.
Stir in the lemon juice and chopped fresh herbs. Season with salt and black pepper to taste.
Ladle the soup into bowls and garnish with fresh parsley and lemon wedges. Serve hot with crusty bread.