Preheat the oven to 400°F. Line a baking sheet with parchment paper and spray with nonstick cooking spray.
Meatballs
In a large bowl, combine the beef, egg, breadcrumbs, parmesan cheese, onion, garlic, salt, pepper, and parsley.
Use a portion scoop to scoop the meat mixture. Form into balls and place on the baking sheet.
Bake uncovered 17 to 20 minutes, or until no longer pink in the middle. Turn halfway through, so the bottoms don’t turn brown.
Mashed Potato
In a large pot, fill it with water and half a teaspoon of salt. Peel the potatoes, then chop them into large diced and add the potatoes to the pot. Once all the potatoes are in the pot make sure the water is at least 2 inches above the top of the potatoes. If not, add additional water.
Bring the potatoes to boil on a high heat. Boil potatoes for 20 minutes or until the potatoes are soft. Drain potatoes using a colander and then put potatoes back into the pot with the butter. Using a masher, mash potatoes until smooth. Once smooth, add milk and half teaspoon of salt and white pepper. Using a spatula, stir until well combined.
Gravy
In a small pot over medium heat. Place the butter and flour in the pot. Use a whisk to mix the butter and flour as the butter melts. Continue to whisk until a fluffy golden roux forms, 2-3 minutes.
Add the vegetable broth, onion powder, Worcestershire sauce, and garlic powder. Mix until the ingredients are well incorporated into the roux. Allow the gravy to simmer and thicken for 2-3 minutes. Then, turn off the heat. The gravy will continue to thicken as it cools.
Top the mashed potatoes with the baked meatballs and pour warm gravy over the top.