In a large bowl, combine lamb, onion, parsley, allspice, cinnamon, ½ tsp salt, and ¼ tsp pepper. Using your hands, mix well, and form the mix into ping-point size balls (~ 15 total)
Roll them in flour and fry in a large dutch oven over medium for a few minutes, until they are golden brown on all sides.
Remove the meatballs and set aside.
Wipe out the pan with paper towels and add the olive oil for the soup. Over medium heat, fry the onion and garlic for about 5 minutes.
Add the carrots and celery and cook for another 2 -3 minutes.
Add the tomatoes, tomato paste, spices, sugar, 2 tsp salt, and ½ tsp pepper and cook for another minute.
Stir in the freekeh and cook for 2-3 minutes
Add the stocks, water, and meatballs. Bring to a boil.
Lower the heat and simmer gently for another 40-45 minutes, stirring occasionally, until the freekeh is plump and tender. (At this point the soup should be thick.)
Reduce or add a little water as needed. Adjust the seasonings.
Serve with optional toppings (if desired)