In a large pan or cast-iron skillet, melt butter and oil over medium heat. Add onions; cook, stirring occasionally, until they start to caramelize, about 8 to 10 minutes. Remove onions and place in a large mixing bowl.
Add beef, egg, parsley, Italian seasoning, and salt; mixing well to combine.
With damp hands, roll 48 1/2-inch meatballs or 33-34 1-inch meatballs.
Place same pan or skillet over medium-low heat. Add meatballs, broth and wine; simmer until cooked through, gently turning meatballs once during cooking, about 20 minutes.