Make the panade: In a large bowl, combine breadcrumbs and milk. Let it sit for 5 minutes until the breadcrumbs are fully hydrated and pasty.
Build the mixture: Add the egg, onion, garlic, salt, pepper, allspice, nutmeg, and parsley to the bowl.
Stir until evenly combined.
Add the meat: Gently work in the ground beef and pork with your hands or a fork. Mix just until combined. Overmixing makes meatballs tough.
Form the meatballs: Scoop about 1 to 1.5 tablespoons per meatball and roll into 1 to 1.25-inch balls. You should get around 30–36 meatballs.
Chill for 15 minutes to help them hold their shape.
Brown the meatballs: Heat oil or butter in a large skillet over medium-high heat. Brown the meatballs in batches, turning to get color on several sides, 5–7 minutes total. Transfer to a plate; they will finish cooking in the sauce.
Make the roux: Reduce heat to medium.
Add butter to the same skillet. When melted, whisk in flour and cook, whisking, for 1–2 minutes until light golden and nutty.
Build the gravy: Slowly whisk in beef broth to avoid lumps, scraping up browned bits. Simmer 3–4 minutes until slightly thickened.
Stir in heavy cream, Dijon, and Worcestershire. Season with salt and pepper.
Finish the meatballs: Return meatballs and any juices to the skillet. Simmer gently for 8–10 minutes, or until the meatballs are cooked through (165°F/74°C internal temperature) and the sauce is silky.
Enrich and balance: Take the pan off the heat and stir in sour cream.
Taste and adjust seasoning. If it’s too thick, splash in a little broth or water.
Serve: Spoon meatballs and gravy over mashed potatoes, egg noodles, or rice. Garnish with parsley.
Add a small spoon of lingonberry jam on the side for a sweet-tart contrast.