Preheat your oven to 375°F (190°C).
In a large mixing bowl, combine the ground beef, breadcrumbs, Parmesan cheese, chopped onion, minced garlic, egg, Worcestershire sauce, salt, pepper, and thyme. Mix until well combined.
Form the mixture into 1-inch meatballs, placing them on a baking sheet lined with parchment paper.
Bake the meatballs in the preheated oven for 20 minutes or until cooked through and browned.
While the meatballs are baking, peel and chop the potatoes into even-sized chunks. Place them in a pot of salted water and bring to a boil. Cook until tender, about 15 minutes.
Drain the potatoes and return them to the pot. Add the milk, butter, and salt. Mash until smooth and creamy.
In a skillet, heat the olive oil over medium heat. Sprinkle the flour into the skillet and whisk to form a roux. Gradually add the beef broth, stirring constantly to avoid lumps. Add soy sauce, salt, and pepper. Cook until the gravy thickens, about 5 minutes.
Once the meatballs are done, add them to the gravy, allowing them to simmer for a couple of minutes to absorb the flavors.
Serve the meatballs over a generous scoop of mashed potatoes, drizzling gravy over the top.