In a large bowl, combine the onion, ground beef, ground pork, garlic powder, salt, pepper, allspice, and egg. Mix together until the ingredients are well combined.
Preheat the broiler.
Scoop the beef mixture into 1 ½” balls (about the size of a golf ball). I use a #40 (Tablespoon sized) cookie scoop to do this. If desired, round out the shape of the scoop in the palms of your hands.
Place the balls on a parchment lined baking sheet, then broil for 8-10 minutes, or until just browned on the outside.
Add them to a slow cooker that holds at least 4 quarts.
Meanwhile, prepare the roux.
Melt the butter in a medium sauce pan over medium heat. Whisk in the flour until smooth, cooking for about 1 minute. Slowly pour in the beef broth and soy sauce, whisking constantly, until combined. Turn the heat up to high and bring to a boil. Cook for 1-2 minutes, or until gravy is thick enough to coat the back of a spoon. Remove from heat and season to taste with salt and pepper.
Pour the gravy over the meatballs.
Cover the slow cooker, cook for 4 hours over low heat or 2 hours over high heat.
Once the meatballs are done cooking, turn off the slow cooker and stir in the half and half or cream and the lemon juice. Serve immediately or keep on the warm setting until ready to serve.
Notes
See the post above for stove top instructions, as well as storage and freezing tips.