In a large mixing bowl, combine ground beef, breadcrumbs, egg, milk, Worcestershire sauce, salt, pepper, onion powder, and garlic powder.
Shape the meat mixture into approximately 24 meatballs, about 1.5 inches in diameter.
Optional: Sear meatballs in a skillet over medium-high heat until browned on all sides to improve texture and color.
Place the sliced onions and mushrooms in the bottom of a 6-quart slow cooker.
Arrange the meatballs over the vegetable layer.
In a separate bowl, whisk together the beef broth, brown gravy mix, ketchup, and Dijon mustard until smooth.
Pour the gravy mixture over the meatballs in the slow cooker.
Cover and cook on LOW for 4 to 5 hours or on HIGH for 2 to 3 hours until meatballs reach an internal temperature of 160°F.
During the last 30 minutes of cooking, whisk the cornstarch and cold water together to form a slurry.
Gently stir the slurry into the slow cooker liquid and continue cooking until the gravy has thickened.