Melt 2 tablespoons of butter in a large skillet over medium to medium high heat. Add onions and salt into butter, and cook, stirring frequently, until onions become translucent, 5-6 minutes.
Once onions are translucent, move them into a large bowl.
To same bowl, add milk, eggs, seasoned bread crumbs, black pepper, nutmeg, onion powder and allspice to the breadcrumb mixture; stir to combine.
Once combined, add in beef and pork, and stir to combine it all. Do not over mix or your meatballs will get tough.
Cover with plastic wrap and refrigerate for 1 hour. (If in a hurry you can skip this step)
Preheat oven to 425 degrees F (220 degrees C).
Make said meatballs by rolling 2 Tbs of the meat mixture into a ball using cold, wet hands, or by using a cookie scoop or melon baller.
Place meatballs on a lined baking sheet, sprayed with cooking spray and bake in the preheated oven about 20 minutes, until browned and internal temp is 160 degrees F (70 degrees C).
Meanwhile, while meatballs cook, start making the gravy by melting 2 tablespoons butter in a large skillet over medium heat; whisk flour into butter and cook until golden brown, 4 to 5 minutes. Watch carefully so you don't burn it. Then slowly whisk beef broth into butter mixture.
Increase heat to medium-high, and whisk cream (or milk) into mixture . Bring the whole thing to a simmer, and stir in the garlic powder and Worcestershire sauce.
Simmer until slightly thickened, about 6 to 7 minutes.
Season with salt and black pepper. Remove from heat and stir in sour cream (optional).
Transfer meatballs to the gravy and return to heat, and cook at medium-low heat for 3-5 minutes.
Serve over egg noodles or potatoes and garnish with a little fresh parsley.