Prepare the Meatballs: In a large mixing bowl, combine the ground beef, ground pork, finely chopped onion, breadcrumbs, milk, egg, salt, pepper, allspice, and nutmeg. Mix everything together until fully combined. Be careful not to overwork the mixture, as this can make the meatballs tough.
- Shape the Meatballs: Using your hands, form the meat mixture into small meatballs, about 1 to 1.5 inches in diameter. Place them on a plate or tray as you go.
- Fry the Meatballs: In a large skillet, heat 2 tablespoons of butter over medium heat. Once the butter is melted and sizzling, add the meatballs to the skillet in batches, being careful not to overcrowd the pan. Cook the meatballs for about 5-7 minutes, turning occasionally to ensure they are browned on all sides and cooked through. Remove the meatballs from the skillet and set them aside.
- Make the Gravy: In the same skillet, melt 2 tablespoons of butter over medium heat. Add the flour and cook for 1-2 minutes, whisking constantly to form a roux. Gradually add the beef broth, whisking to avoid lumps, and cook for about 5 minutes until the sauce thickens. Stir in the heavy cream and soy sauce, then season with salt and pepper to taste.
- Combine Meatballs and Gravy: Return the meatballs to the skillet with the gravy. Let the meatballs simmer in the gravy for an additional 5-10 minutes, allowing the flavors to meld together and the meatballs to soak up the delicious sauce.
- Serve: Serve the Swedish meatballs with mashed potatoes, egg noodles, or rice, and top with lingonberry sauce for a traditional touch.