In a large bowl, add all the meatball ingredients. Mix well to fully combine.
Using a 3 Tablespoon cookie scoop, form the meatballs and set aside.
In a large skillet over medium to medium-low heat, work in batches to cook your meatballs fully. Once all the meatballs are cooked, set them aside.The meatballs are considered done when they reach 165F on an instant read thermometer.
Drain most of the grease from the pan. Over medium heat, melt the butter and cook the onion until soft, scraping down the brown bits. Then add mushrooms and cook for another 5 minutes. Lower the heat to medium-low.
Add flour to the pan and cook for about 1 minute. Add beef broth and Worcestershire sauce. Stir regularly until thickened. Add meatballs back in to rewarm, spooning the gravy overtop. Serve!
If you find the meat mixture is sticking to your hands when rolling the meatballs, you can either spray your hands with cooking oil or keep a small bowl of water next to you to wet your hands.
It isn't absolutely necessary to use a cookie scoop here, but it does help keep the meatballs uniform in size so they cook evenly in the skillet.
If you substitute with unsalted butter and low-sodium beef broth, you may want to add some salt to taste. We used cremini mushrooms here, but you can use your favorite variety.
Lean or medium ground beef will both work, you can even use a mixture of the two. You can substitute the ground beef with ground turkey if preferred.