In a medium-sized saucepot over medium heat, add 3 tablespoons of unsalted butter and then the other half of the onions, season with salt, and sauté for 5 minutes.
Once lightly browned, turn the heat down to medium and cook for a further 10 minutes or until darker brown.
Stir in the flour to make a roux.
Pour in the beef stock, and soy sauce, and bring it to a boil to thicken. Once thick, reduce the heat to low and finish it by stirring in the whipping cream. Adjust the seasonings with salt and pepper.
Strain into a separate medium-sized pot and keep warm over low heat.
In a medium-sized non-stick pan, add 2 tablespoons of unsalted butter over low to medium heat. Once melted, add in ½ the onions, gently season with salt, and cook while constantly stirring for 10 minutes. Set it to the side to cool.
In a large bowl, whisk together the eggs, milk, and mustard until combined.
Next, mix in the breadcrumbs and bread cubes and let it sit for 5 to 7 minutes or until saturated and the mixture thickens.
Add the cooled onions, ground beef, salt, and pepper, and thoroughly mix. I recommend frying a small piece in oil to ensure it is properly seasoned.
Form 18 golf-ball-sized meatballs.
In a large non-stick skillet over medium heat, add enough oil to coat the bottom of the pan along with the remaining 3 tablespoons of butter.
Once the butter is melted, add in the meatballs and fry on all sides until they are golden brown and cooked throughout, which takes about 12 to 15 minutes total.
Serve the meatballs with the brown gravy and garnish with optional finely minced fresh parsley.
