In a mixing bowl, combine the ground beef, breadcrumbs, chopped onion, milk, egg, garlic powder, Worcestershire sauce, salt, and pepper. Mix until just combined.
Shape the mixture into meatballs, about 1 inch in diameter. You should have approximately 16 meatballs.
Heat a skillet over medium heat and brown the meatballs on all sides, about 5 minutes, then transfer them to the slow cooker.
In the same skillet, combine the beef broth, cream of mushroom soup, Worcestershire sauce, onion powder, garlic powder, and black pepper. Stir to combine.
Pour the gravy mixture over the meatballs in the slow cooker and add sliced mushrooms if using.
Cover and cook on low for 6 hours or on high for 3 hours until meatballs are cooked through and tender.
Once done, stir the gravy and serve the meatballs over mashed potatoes or rice for a complete meal.