Combine ground beef, egg, breadcrumbs, granulated garlic, granulated onion, chopped parsley, ketchup, Worcestershire sauce, salt, and pepper in a bowl. Mix until just combined, then form into small meatballs.
2
Heat olive oil in a large skillet over medium-high heat. Working in batches if needed, sear the meatballs on all sides until browned (they don't need to be cooked through). Transfer the cooked meatballs to a plate.
3
In the same skillet with the drippings, remove most of the fat and leave about one tablespoon. Add the thinly sliced onion and sauté with salt and pepper until it becomes caramelized and develops good color.
4
Sprinkle flour over the onion mixture and stir constantly until you no longer see any raw flour bits. This will thicken the gravy.
5
Gradually add the beef stock while stirring, making sure to scrape up any browned bits from the bottom of the pan. This adds extra flavor to the gravy.
6
Stir in the ketchup, granulated onion, granulated garlic, and a few dashes of Worcestershire sauce. Mix well to combine all the flavors.
7
Return the meatballs to the skillet, nestling them into the gravy. Bring the mixture to a simmer over medium heat and simmer for 15 to 20 minutes until the meatballs are cooked through and the flavors have melded.
8
Serve the Salisbury steak meatballs and gravy over creamy mashed potatoes. The rich gravy is meant to be spooned generously over everything.