Melt 2 tablespoons butter in a large skillet over medium heat. Cook and stir onion and 1 1/2 teaspoons salt in butter until onion begins to turn golden, about 6 minutes.
Transfer onion mixture to a large bowl. Add milk, eggs, bread crumbs, black pepper, nutmeg, and allspice to the breadcrumb mixture; stir to combine.
Mix beef and pork into the bread crumb mixture. Cover with plastic wrap and refrigerate for 1 hour.
Melt 2 tablespoons butter in a large skillet over medium heat; whisk flour into butter and cook until golden brown, 3 to 4 minutes. Slowly whisk beef broth into butter mixture, whisking until lumps are dissolved.
Increase heat to medium-high, whisk cream into mixture and bring to a simmer. Stir Worcestershire sauce into gravy. Simmer until slightly thickened, 5 to 6 minutes. Season with salt and black pepper. Remove from heat and set aside.
Preheat oven to 425 degrees F (220 degrees C). Line a baking sheet with aluminum foil or parchment paper and lightly spray with cooking spray.
Roll 2 to 3 tablespoons meatball mixture into a ball using wet hands; repeat with remaining meatball mixture. Place meatballs on the prepared baking sheet.
Bake at 425 degrees until browned, about 20 minutes.
Transfer meatballs to the gravy and cook over medium-low heat until warmed through, about 10 minutes.