In a bowl, mix together ground beef, breadcrumbs, egg, Worcestershire, Dijon, onion powder, garlic powder, salt, and pepper. Form into 16 small meatballs.
Heat olive oil in a large skillet over medium heat. Add meatballs and sear until browned on all sides (about 6–8 minutes total). Remove and set aside.
In the same skillet, add butter and sliced onions. Sauté until softened (about 5 minutes).
Stir in flour and cook for 1 minute.
Slowly whisk in beef broth, Worcestershire sauce, and Dijon mustard. Bring to a simmer.
Return meatballs to the skillet, cover, and simmer in the gravy for 15 minutes, until fully cooked.
Meanwhile, boil potatoes in salted water until fork-tender (about 15–20 minutes).
Drain and mash with butter, milk, salt, and garlic powder (if using) until smooth.
Serve meatballs and gravy over a bed of mashed potatoes.
Garnish with chopped parsley if desired.