Heat 1 tablespoon olive oil in a large skillet over medium heat. Add onion and cook, stirring frequently, until onions have become translucent in about 2-3 minutes.
In a large bowl, add in the translucent onions, ground beef, breadcrumbs, egg yolk, allspice, black pepper and salt. Mix well.
Using your hands, roll the mixture into 1 inch balls.
In a frying pan, add 1 tablespoon olive oil to the frying pan and fry the meatballs, in batches.
Cook till the meatballs are brown for about 5 minutes.
Transfer to a plate.
To make the gravy
Melt butter in a skillet. Saute garlic for 30 seconds.
Add in flour and using a wooden spoon or whisk, mix it for about 1 minute.
Gradually add in beef broth and keep whisking till sauce is slightly thickened.
Stir in sour cream and season with salt and pepper, to taste.
Mix in meatballs and and let it heat through for 2 minutes.
Garnish with parsley and serve with potatoes if desired.