Combine the beef, breadcrumbs, egg, ketchup, Worcestershire sauce, garlic powder, onion powder, salt, and pepper in a large bowl. Mix gently by hand until just blended. Shape into approximately 18 to 20 meatballs, about 1.5 inches in diameter.
In a wide skillet over medium heat, warm the oil. Working in batches, brown the meatballs on all sides. They need only a seared exterior at this stage, not full doneness. Transfer to a plate once browned.
Without cleaning the skillet, add butter and sliced onions. Cook over medium heat for 5 to 6 minutes, stirring often, until the onions soften and begin to caramelize.
Sprinkle flour evenly over the onions and stir constantly for one minute to eliminate the raw taste. Slowly pour in the beef broth while whisking, followed by Worcestershire sauce and Dijon mustard, if using. Stir and bring to a gentle simmer, allowing the mixture to thicken slightly, about 3 to 4 minutes.
Return the browned meatballs to the pan, nestling them into the onion gravy. Cover with a lid and simmer gently for 15 minutes, or until the meatballs are cooked through and the sauce has thickened to your liking.
Serve warm with a garnish of fresh parsley. Ideal accompaniments include mashed potatoes, buttered noodles, or steamed rice.